根据CSV文件名命名数据框? [英] Name a dataframe based on csv file name?

查看:70
本文介绍了根据CSV文件名命名数据框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Trying to batch analyze a folder full of .csv files, then save them out again based on the .csv name. However, I'm having trouble extracting just the file name and assigning it to the dataframe (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".

The print result I get is "csv_in/*.csv".

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

The result I'm looking for is just the csv name, "*.csv"

推荐答案

使用 [] 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)

这篇关于根据CSV文件名命名数据框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆