【问题标题】:python / pandas copy filenamepython / pandas 复制文件名
【发布时间】:2015-05-19 02:20:41
【问题描述】:

我正在尝试使用 pandas 自动执行一些数据清理工作。

我在一个文件夹中有几个单独的 .csv 文件。我想将所有这些 csv 文件读入数据框,然后在 df 中创建一个 ID 列,其中的值将是每个 csv 文件的名称。

假设使用 glob 读取以下文件:
1.csv
2.csv
3.csv

rawfiles = glob.glob(path + "/*.csv")
tempframe = []
for file_ in rawfiles: 
    df = pd.read_csv(file_, header=0)
    tempframe.append(df)

但在将它们全部连接到一个数据框之前,我想添加一个ID 列并将每个文件的名称作为其值(即123 等)

我该怎么做呢?

【问题讨论】:

    标签: python csv pandas


    【解决方案1】:

    编辑:误读了您的问题。我将 ID 设置为每个文件的名称减去最后 4 个字符 (.csv)

    rawfiles = glob.glob(path + "/*.csv")
    tempframe = []
    for file_ in rawfiles:  
        df = pd.read_csv(file_, header=0)
        df["ID"] = file_[:-4] 
        tempframe.append(df)
    

    【讨论】:

    • 感谢您的回复。但是无论文件名如何,添加它不会使整个 ID 列“1”吗? - 会尝试一下,看看会发生什么。干杯。
    猜你喜欢
    • 1970-01-01
    • 2017-06-10
    • 2021-04-03
    • 1970-01-01
    • 2014-05-08
    • 2019-03-16
    • 2011-01-21
    • 2021-04-08
    • 2016-11-30
    相关资源
    最近更新 更多