根据CSV文件名命名数据框?

时间:2019-09-02 05:23:56

标签: python pandas glob

尝试批量分析一个充满.csv文件的文件夹,然后根据.csv名称再次将其保存。但是,我在提取文件名并将其分配给数据帧(df)时遇到了麻烦。

import glob
import pandas as pd

path = r'csv_in'
allFiles = glob.glob(path + '/*.csv')

for file_ in allFiles:   
    df = pd.read_csv(file_, header=0)
    df.name = file_
    print(df.name)

我得到的打印结果是“ csv_in / *。csv”。

我要查找的结果只是csv名称“ * .csv”

1 个答案:

答案 0 :(得分:5)

使用[]os.path.basename使用os.path.normpath创建新列:

import os

for file_ in allFiles:   
    df = pd.read_csv(file_, header=0)
    df['name'] = os.path.basename(os.path.normpath(file_))
    #if need remove extension (csv)
    #df['name'] = os.path.splitext(os.path.basename("hemanth.txt"))[0]
    print(df.name)