使用Python在单个Excel中将大型CSV文件拆分为多个工作表

问题描述

我正在使用这段代码来使用熊猫读取csv(大约1 GB),然后使用chunksize将其写入多个Excel工作表中。

with pd.ExcelWriter('/tmp/output.xlsx',engine='xlsxwriter') as writer:
        reader = pd.read_csv(f'/tmp/{file_name}',sep=',',chunksize=1000000)
        for idx,chunk in enumerate(reader):
            chunk.to_excel(writer,sheet_name=f"Report (P_{idx + 1})",index=False)
        writer.save()

这种方法要花费很多时间。有人可以提出任何减少这种时间的方法吗?

解决方法

几天前我遇到了同样的问题,所以我尝试了

您可以使用称为vaex的库 [1]:https://vaex.readthedocs.io/en/latest/

或者,如果您想使用熊猫来做,请尝试使用apache pyspark

或者使用可以使用具有1200积分的Google colud