我想在CSV文件中添加一列,这是同一文件中其他两列的差异,我使用python(pandas)来实现这一点,我就是这么做的:
import pandas as pd
row = ['times1','times2']
for df1 in pd.read_csv('C:/SET/parti_no_diff.CSV',skipinitialspace=True, usecols=row, chunksize=10**7):
df1['time_difference'] = (df1['times2'].astype('datetime64[s]')-df1['times1'].astype('datetime64[s]')).abs()
df1.to_csv('E:/SET/parti_with_diff_seconds.csv',mode='a')
我用的机器内存12GB,外置硬盘2TB(5200RPM)(输入和输出不在同一硬盘上),程序需要24小时以上,怎么优化呢?你知道吗
老实说,Python内置的读写文本文件的功能是最佳的。一次读入一行到列表中,添加额外的列,然后将其附加到输出文本文件中。你知道吗
一次读入一行,根据需要进行修改,然后将其附加到输出文件中。会比你想象的快。您可以使用tqdm之类的工具来监视进度。你知道吗
比如:
相关问题 更多 >
编程相关推荐