将目录中的所有csv文件作为pandas dfs导入,并将它们命名为csv文件名

时间:2016-10-15 10:53:55

标签: python csv pandas

我试图编写一个脚本,将目录中的所有.csv文件作为数据帧导入我的工作区。每个数据帧应命名为csv文件(减去扩展名:.csv)。

这是我到目前为止所做的,但很难理解如何为循环中的数据帧分配正确的名称。我发现过使用exec()的帖子,但这似乎不是一个很好的解决方案。

path = "../3_Data/Benefits"                     # dir path
all_files = glob.glob(os.path.join(path, "*.csv")) #make list of paths

for file in all_files:
    dfn = file.split('\\')[-1].split('.')[0] # create string for df name
    dfn = pd.read_csv(file,skiprows=5) # This line should assign to the value stored in dfn

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:6)

name没有name他们的索引可以有import glob import os path = "./data/" all_files = glob.glob(os.path.join(path, "*.csv")) #make list of paths for file in all_files: # Getting the file name without extension file_name = os.path.splitext(os.path.basename(file))[0] # Reading the file content to create a DataFrame dfn = pd.read_csv(file) # Setting the file name (without extension) as the index name dfn.index.name = file_name # Example showing the Name in the print output # FirstYear LastYear # Name # 0 1990 2007 # 1 2001 2001 # 2 2001 2008 。这是设置它的方法。

RAW_CONTACT_ID