将一份一亿多条数据的csv文件等分为10份,代码如下所示:
import pandas as pd data = pd.read_csv('C:\Users\PycharmProjects\SplitData\data\UserBehavior.csv') # 路径则根据个人存放项目文件的习惯 num = 0 for i in range(1, 11): start = num num = num + int(data.shape[0] / 10) file = data.iloc[start:num,] file.to_csv("C:\Users\PycharmProjects\SplitData\newData\" + str(i) + "_data.csv", index=False) # index=False是不想切分后的文件出现序号
注意:如果此时文件的路径包含有中文,则必须改成以下的代码:
import pandas as pd f = open('C:\Users\PycharmProjects\数据切分\data\UserBehavior.csv') data = pd.read_csv(f) num = 0 for i in range(1, 11): start = num num = num + int(data.shape[0] / 10) file = data.iloc[start:num,] file.to_csv("C:\Users\PycharmProjects\SplitData\newData\" + str(i) + "_data.csv", index=False)
但是使用这种方法调用文件进内存,加重了内存的负担,两次赋值相当于内存占用乘2,此方法不建议使用,还是将路径改为英文名。