如何将块保存到新的csv文件中并自动命名csv文件?

2024-10-01 02:36:45 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有点纠结于如何将块保存到单独的csv文件中。 以下是我想做的:

  1. 1-1000行>;手镯\u无\u变体\u 1000.csv
  2. 1001-2000行>;手镯\u无\u变体\u 2000.csv
  3. 2001-3000行>;手镯\u无\u变体\u 3000.csv
import numpy as np


df = pd.read_csv("bracelet_no_variants.csv")

def split(df, chunk_size):
    indices = index_marks(df.shape[0], chunk_size)
    return np.split(df, indices)

chunks = split(df, 1000)

for c in chunks:
    print(c)

Tags: 文件csvimportgtnumpydfsizenp
2条回答

以下方面应起作用:

df = pd.read_csv("bracelet_no_variants.csv")
l=[i*1000 for i in range(len(df)//1000+1)]+[len(df)]
for i in range(len(l)-1):
    temp=df.iloc[l[i]:l[i+1]]
    temp.to_csv('bracelet_no_variants_'+str(l[i+1])+'.csv')

您可以使用read_csv函数中的chunksize,并迭代pur块以将其保存为csv

 pd.read_csv("bracelet_no_variants.csv",chunksize=1000)
 counter=1000
 for chunk in chunks:
        chunk.to_csv("bracelet_no_variants_"+str(counter)+".csv")
        counter=counter+1000

您可能需要将index=False传递给_csv函数以停止将索引保存为列

如果您不想在所有csv文件中都使用header,请仅为第一次迭代设置header True

 pd.read_csv("bracelet_no_variants.csv",chunksize=1000)
 counter=1000
 header=True
 for chunk in chunks:
         chunk.to_csv("bracelet_no_variants_"+str(counter)+".csv",header=header)
        counter=counter+1000
         header=False

相关问题 更多 >