python - fetch后如何在for循环中每10,000条记录后创建多个文件?
问题描述
我有大约 1,000,000 条记录,我想循环并在大约 10 个不同的文件中写入内容。
以下是我成功创建单个大文件的代码:
f = open("c:\temp\filename", 'w+')
# write to file
for rec in full_data:
f.write(rec[0])
f.write("\n")
我想创建 10 个文件,每个文件中有 100,000 条记录。
我尝试创建多个文件,但这将为每一行创建文件:
for index, line in enumerate(full_data):
with open('filename{}.txt'.format(index), 'w') as output:
output.write(line[0])
请让我知道如何为 100,00 条记录创建每个文件。
解决方案
这是因为在每次 cicle 迭代中,您都在创建一个新文件作为输出,仅在必要时才尝试这样做。
例如,以下代码每三个项目创建一个文件:
>>> data = [1,2,3,4,5,6,7,8,9,10]
>>> output = open('filename0.txt', 'w')
>>> for index, line in enumerate(data):
... if index % 3 == 0:
... output = open('filename{}.txt'.format(index), 'w')
... output.write(str(line) + "\n")
推荐阅读
- git - 执行 npm install -g botium-cli 时出错
- linux - svn subversion 服务器仅列出存储库(需要很多时间)
- oracle - “ORA-22835:对于 CLOB 到 CHAR 或 BLOB 到 RAW 转换的缓冲区太小(实际:4003,最大值:4000)”
- wpf - 在 WPF 中是否可以使用嵌套用户控件进行样式继承?
- bash - bash中数组的单独元素
- android - firebase 的云功能被触发太多次
- ruby-on-rails - Rails 参数在 params 中丢失但出现在 request.body 中
- python - 根据创建日期选择文件
- python - Python轮子反依赖
- r - 重新分配变量名称/标签