尝试批量分析一个充满.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”
答案 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)