pyl*_*ang 12 python csv performance dataframe pandas
我倾向于将.csv文件导入到pandas中,但有时我可能会获得其他格式的数据来制作DataFrame
对象.
今天,我只是发现了有关read_table
为其他格式的"通用"的进口商,并想知道是否有在大熊猫的各种方法之间显著的性能差异阅读的.csv文件,例如read_table
,from_csv
,read_excel
.
read_csv
?read_csv
远远不同的from_csv
创建DataFrame
?小智 26
read_table
是read_csv
与sep=','
替换sep='\t'
,它们围绕着相同功能的两个薄包装纸因此性能将是相同的. read_excel
使用xlrd
包将xls和xlsx文件读入DataFrame,它不处理csv文件.from_csv
电话read_table
,所以不.我发现CSV和制表符分隔的文本(.txt)在读写速度上是等价的,两者都比读取和写入MS Excel文件快得多.但是,Excel格式会大量压缩文件大小.
对于相同的320 MB CSV文件(16 MB .xlsx)(i7-7700k,SSD,运行Anaconda Python 3.5.3,Pandas 0.19.2)
使用标准惯例 import pandas as pd
2秒读取.csv df = pd.read_csv('foo.csv')
(pd.read_table相同)
15.3秒读取.xlsx df = pd.read_excel('foo.xlsx')
10.5秒写.csv df.to_csv('bar.csv', index=False)
(相同的.txt)
34.5秒写.xlsx df.to_excel('bar.xlsx', sheet_name='Sheet1', index=False)
要将数据帧写入制表符分隔的文本文件,您可以使用:
df.to_csv('bar.txt', sep='\t', index=False)