我有一个需要修改的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=',')
答案 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)