我目前有一个目录,我们称其为/mydir,其中包含36个CSV文件,每个文件大小为2.1 GB,维度相同。它们都是相同的大小,我想将它们读入pandas中,将它们并排连接在一起(使行数保持不变),然后将结果数据框作为一个大型csv输出。我用来做这件事的代码可以合并其中几个文件,但在某一点后会出现内存错误。我想知道是否有比我所拥有的更有效的方法。
df = pd.DataFrame()
for file in os.listdir('/mydir'):
df.concat([df, pd.read_csv('/mydir' + file, dtype = 'float)], axis = 1)
df.to_csv('mydir/file.csv')
有人建议我将其分解成较小的部分,每6个文件为一组,然后依次将它们组合在一起,但我不知道这是否是一个有效的解决方案,可以避免内存错误问题。
编辑:目录视图:
-rw-rw---- 1 m2762 2.1G Jul 11 10:35 2010.csv
-rw-rw---- 1 m2762 2.1G Jul 11 10:32 2001.csv
-rw-rw---- 1 m2762 2.1G Jul 11 10:28 1983.csv
-rw-rw---- 1 m2762 2.1G Jul 11 10:21 2009.csv
-rw-rw---- 1 m2762 2.1G Jul 11 10:21 1991.csv
-rw-rw---- 1 m2762 2.1G Jul 11 10:07 2000.csv
-rw-rw---- 1 m2762 2.1G Jul 11 10:06 1982.csv
-rw-rw---- 1 m2762 2.1G Jul 11 10:01 1990.csv
-rw-rw---- 1 m2762 2.1G Jul 11 10:01 2008.csv
-rw-rw---- 1 m2762 2.1G Jul 11 09:55 1999.csv
-rw-rw---- 1 m2762 2.1G Jul 11 09:54 1981.csv
-rw-rw---- 1 m2762 2.1G Jul 11 09:42 2007.csv
-rw-rw---- 1 m2762 2.1G Jul 11 09:42 1998.csv
-rw-rw---- 1 m2762 2.1G Jul 11 09:42 1989.csv
-rw-rw---- 1 m2762 2.1G Jul 11 09:42 1980.csv
paste
工具怎么样 -paste -d',' *.csv > result.csv
? - MaxU - stand with Ukrainels /mydir/*.csv
的输出吗? - MaxU - stand with Ukraine