如何将列表中存储的DataFrame分别保存为独立CSV文件
解决方案
你之前的代码每次循环都用同一个文件名file.csv,新生成的文件会直接覆盖之前的,所以最终只留下最后一个DataFrame的结果。
解决方法是给每个文件生成带唯一序号的文件名,用enumerate()遍历列表时同时获取序号:
# 遍历df_split,序号从1开始计数 for idx, df in enumerate(df_split, start=1): # 生成如file1.csv、file2.csv的唯一文件名 filename = f'./file{idx}.csv' df.to_csv(filename)
如果不需要保存DataFrame默认的行索引,可以加上index=False参数,让CSV更简洁:
for idx, df in enumerate(df_split, start=1): filename = f'./file{idx}.csv' df.to_csv(filename, index=False)
要是需要保存到指定文件夹,先确保文件夹存在(用os.makedirs创建):
import os # 创建目标文件夹,不存在则自动创建 target_dir = './指定文件夹/' os.makedirs(target_dir, exist_ok=True) for idx, df in enumerate(df_split, start=1): filename = f'{target_dir}file{idx}.csv' df.to_csv(filename, index=False)
这样就能把576个DataFrame分别保存为file1.csv到file576.csv,不会再出现覆盖问题。
内容的提问来源于stack exchange,提问作者Julieta M.
相关产品推荐
相关产品推荐

