首页 > 解决方案 > 为多个 CSV 文件导出 Pandas 输出

问题描述

我在一个文件夹的子目录下有许多 CSV 文件。它们都包含推文和其他元数据。我有兴趣删除大部分这些元数据并保留推文本身和时间。我使用 glob 读取文件,删除部分似乎工作正常。但是,我不确定如何保存输出,以便保存所有文件并使用其原始文件名。

import pandas as pd
import glob
path = r'D:\tweets'
myfiles= glob.glob(r'D:\tweets\**\*.csv', recursive=True)
for f in myfiles:
    df = pd.read_csv(f)
df = df.drop(["name", "id","conversation_id","created_at","date"], axis=1)
df = df[df["language"].str.contains("bn|ca|ckbu|id||zh")==False]
df.to_csv("output_filename.csv", index=False, encoding='utf8')

标签: pythonpandascsvglob

解决方案


如果你这样做,它会覆盖同一个文件:

for f in myfiles:
    df = pd.read_csv(f)
    df = df.drop(["name", "id","conversation_id","created_at","date"], axis=1)
    df = df[df["language"].str.contains("bn|ca|ckbu|id||zh")==False]
    df.to_csv(f, index=False, encoding='utf8')

推荐阅读