【发布时间】:2018-08-25 10:58:14
【问题描述】:
我有以下代码 sn-p 可帮助我将输出写入 excel 文件。如果数据集不是那么大(例如,多达 10 万条记录),这段代码可以正常工作。
但是如果我的数据集非常大,比如 1000 万条记录,那么这段代码就不能很好地工作。
那么,在这种情况下,我该怎么办 将数据集拆分为几个较小的数据集,同时将它们全部上传到一个文件中。目标是 在一个文件中获取所有数据。
import time
class WriteToExcel(object):
def generate_report(self, output_data):
timestr = time.strftime("%Y%m%d-%H%M%S")
file_path = '/some/path/'
file_name = 'file' + '_' + timestr + '.xlsx'
try:
output_data.to_excel(file_path+file_name, index=False)
print("File generated named " + file_name + " at the location " + file_path)
except IOError:
print("Opps, I think file path is incorrect.")
## how to invoke the method
nis = WriteToExcel()
nis.generate_report(some_data)
【问题讨论】:
-
将数据写入单个 csv 文件?除非您出于某种原因真的需要这种格式,否则创建 1000 万条记录的 Excel 文件并没有多大用处。
-
@TimWilliams 是的,需要将数据写入单个 csv 文件。有什么改进上述代码的建议吗?
-
我不是 Python 人,但您似乎需要不同的代码来编写 CSV 文件?
-
output_data.to_csv(file_path+file_name, index=False)?我相信 excel 的行数限制约为 100 万。 What is the maximum allowed rows in a Microsoft Excel .xls or .xlsx -
@gyoza 非常感谢。这是我一直在寻找的完美解决方案。欣赏它。