首页 > 解决方案 > 使用“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)”方法到底发生了什么,我们什么时候用它来将我的数据保存在一个拆分文件中?

标签: pythonfilecsvio

解决方案


我有同样的问题,然后我发现我应该关闭我的文件。为你

split.close()

推荐阅读