由于内存错误,我必须拆分我的 csv 文件。我确实研究过。我是从 Aziz Alto 的堆栈溢出用户之一那里找到的。这是他的密码。
csvfile = open('#', 'r').readlines()
filename = 1
for i in range(len(csvfile)):
if i % 10000000 == 0:
open(str(filename) + '.csv', 'w+').writelines(csvfile[i:i+10000000])
filename += 1
Run Code Online (Sandbox Code Playgroud)
它运行良好,但对于第二个文件,代码没有添加对我来说非常重要的标题。我的问题是如何为第二个文件添加标题?
小智 5
import pandas as pd
rows = pd.read_csv("csvfile.csv", chunksize=5000000)
for i, chuck in enumerate(rows):
chuck.to_csv('out{}.csv'.format(i)) # i is for chunk number of each iteration
Run Code Online (Sandbox Code Playgroud)
chucksize你指定你想要的行数 - 在 excel 中你最多可以有 1,048,576 行。这会将其保存为 5000000 并带有标题。
希望这可以帮助!!