熊猫适用于大型csv文件

时间:2017-05-09 09:54:53

标签: python csv pandas

我有一个需要修改的3GB csv文件。 我有一个列,我想应用lambda函数(应该更改行的值)

我到目前为止尝试的解决方案是将CSV作为分块文件读取,但内存问题仍然存在

这是我到目前为止所尝试的:

dataframe = read_csv(file_path, iterator=True, chunksize=10000)

for chunk in dataframe:
   chunk['column_name'].apply(change_row_lambda_function)

dataframe.to_csv(result_file_path, sep=',')

1 个答案:

答案 0 :(得分:0)

试试这个:

# write header (column names)
read_csv(file_path, nrows=1).head(0).to_csv(result_file_path)

dataframe = read_csv(file_path, iterator=True, chunksize=10000)

for chunk in dataframe:
   chunk['column_name'] = chunk['column_name'].apply(change_row_lambda_function)
   chunk.to_csv(result_file_path, mode='a', header=None)