使用python连接大型(>;100MB)多个(比如10个)csv文件

使用python连接大型(>;100MB)多个(比如10个)csv文件,python,csv,concatenation,large-files,Python,Csv,Concatenation,Large Files,我有12个相同结构的大型csv文件。 我想把所有的csv文件合并成一个csv文件。 不要重复标题。 现在我使用的是shutil,如下所示 导入shutil 导入时间 csv_files=['file1.csv','file2.csv','file3.csv','file4.csv','file5.csv','file6.csv'] target_file_name='target.csv'; 开始时间=time.time() 复制(csv文件[0],目标文件名) 将打开的(目标文件名称“a”)作

我有12个相同结构的大型csv文件。 我想把所有的csv文件合并成一个csv文件。 不要重复标题。 现在我使用的是
shutil
,如下所示

导入shutil
导入时间
csv_files=['file1.csv','file2.csv','file3.csv','file4.csv','file5.csv','file6.csv']
target_file_name='target.csv';
开始时间=time.time()
复制(csv文件[0],目标文件名)
将打开的(目标文件名称“a”)作为输出文件:
对于csv_文件中的源_文件[1:]:
打开(源_文件,'r'),如_文件中所示:
in_file.readline()中
copyfileobj(in\u文件,out\u文件)
in_file.close()中
out_file.close()
打印(“--%s秒--”%(time.time()-start\u time))
编辑 当我在终端中尝试
timecat文件[1-4].csv>BigBoy
命令时,我得到了以下输出。
0.08s用户4.57s系统60%cpu总计7.644
。 也就是说,cat命令花费了大约4.5秒,而Python程序花费了17.46秒。我使用了4个csv文件,每个文件大小为116MB

我想知道Python中是否有其他方法可以更有效地处理这些场景。
您可以从下载大型csv文件。

最好使用csvkit中的csvstack。还有很多其他东西可以从控制台处理csv文件

csvstack文件1.csv文件2.csv。。。

最好使用csvkit中的csvstack。还有很多其他东西可以从控制台处理csv文件

csvstack文件1.csv文件2.csv。。。

是的,效率很高。我编辑了我的帖子。ThanksI使用4个大小为116MB的csv文件尝试了代码段。花了17.46秒。我想知道是否有任何其他库/方法可以更有效地处理文件操作。请尝试shell,看看您的磁盘速度有多快
time cat file[1-4].csv>BigBoy
大约4.5秒
0.08s用户4.57s系统60%cpu 7.644总计
我不会给出答案,因为您要求的是Python解决方案,但似乎完成工作的最快方法是启动子流程并运行以下操作,以避免重复标题
awk'(FNR>1)| |(NR==1)'file1.csv file2.csv file3.csv…
Yes,高效。我编辑了我的帖子。ThanksI使用4个大小为116MB的csv文件尝试了代码段。花了17.46秒。我想知道是否有任何其他库/方法可以更有效地处理文件操作。请尝试shell,看看您的磁盘速度有多快
time cat file[1-4].csv>BigBoy
大约4.5秒
0.08s用户4.57s系统60%cpu 7.644总计
我不会给出答案,因为您要求的是Python解决方案,但似乎完成任务的最快方法是启动子流程并运行以下操作,以避免重复标题
awk'(FNR>1)|(NR==1)'file1.csv file2.csv file3.csv…