python - 使用“writeLines”python 方法保存后预期的文本文件行
问题描述
我正在尝试使用Python将一个大型 CSV 文件拆分为几个部分。作为第一次尝试,我使用这部分代码从 CSV 数据集文件中读取了前261579行:
for c in range(261579):
line = datasetFile.readline()
if len(line) == 0:print("empty line detected at : " ,c)
lines.append(line)
print("SAVING LINES ......")
split = open(outputDirectoryName+"spilt" + str(x+1) +".csv","w")
split.writelines(lines)
print("SPLIT " + str(x+1) + " END with " ,str(len(lines)) , "lines .")
好的,目前,代码运行良好并向我展示
“SPLIT 1 END 261579 行。”
, 但问题是,当我用 notpad++ 打开文件“Split1.csv”时,我只找到261575而不是261579,这是文件中某处 4 行的数据丢失。
有了这个比例,我想知道“file.writeLines(lines)”方法到底发生了什么,我们什么时候用它来将我的数据保存在一个拆分文件中?
解决方案
我有同样的问题,然后我发现我应该关闭我的文件。为你
split.close()
推荐阅读
- python - Django - 如何使用 JQuery Ajax 插入多个表单数据
- python - 如何小写我的部分网址地址的第一个字母?
- python - 如何在 Python 3 中扩展 datetime.date?
- python - 使用 Selenium 选择自动完成列表 - 在访问另一个列表之前必须关闭一个列表
- html - 使用 DIV 在 bootstrap 中对齐和缩放图像
- sql - 可以使用什么功能来防范幻读异常,而不是使用 Serializable 隔离级别?
- java - Jackson 对象映射器为整数返回 0,为字符串返回 null
- http - 强制 Gitlab 在 Go 失败时重试 webhook
- html - 无法从 html 网站中的文件访问图像
- python - plt. 在子情节中仅适用于一个情节