解析每个文件夹以获取python中的信息

解析每个文件夹以获取python中的信息,python,pandas,opencsv,Python,Pandas,Opencsv,我有一个目录,每个客户都有一个文件夹。在每个客户文件夹中都有一个名为surveys.csv的csv文件。我想打开每个客户文件夹,然后从csv中提取数据并连接。我还想创建一个列,其中客户id是文件夹的名称 import os rootdir = '../data/customer_data/' for subdir, dirs, files in os.walk(rootdir): for file in files: csvfiles = glob.glob(os.p

我有一个目录,每个客户都有一个文件夹。在每个客户文件夹中都有一个名为
surveys.csv
的csv文件。我想打开每个客户文件夹,然后从csv中提取数据并连接。我还想创建一个列,其中客户id是文件夹的名称


import os
rootdir = '../data/customer_data/'

for subdir, dirs, files in os.walk(rootdir):
    for file in files:
        csvfiles = glob.glob(os.path.join(mycsvdir, 'surveys.csv'))

        # loop through the files and read them in with pandas
        dataframes = []  # a list to hold all the individual pandas DataFrames
        for csvfile in csvfiles:
            df = pd.read_csv(csvfile)
            df['patient_id'] = os.path.dirname
            dataframes.append(df)
            
# concatenate them all together
result = pd.concat(dataframes, ignore_index=True)
result.head()

这段代码只提供了一个包含一个客户数据的数据帧。在目录“../data/customer_data/”中,应该有大约25个包含客户数据的文件夹。我想将所有25个
surveys.csv
文件连接到一个数据帧中。请帮助

写下这行:

dataframes=[]
外部for循环的外部

它会在每个循环中删除列表

其他问题:

  • 在这一行中
    csvfiles=glob.glob(os.path.join(mycsvdir,'surveys.csv'))
    -使用
    subdir
    获取文件的完整路径
  • csvfiles
    只是一个文件-为什么要使用循环来读取它
    • 把这一行写上:

      dataframes=[]
      
      外部for循环的外部

      它会在每个循环中删除列表

      其他问题:

      • 在这一行中
        csvfiles=glob.glob(os.path.join(mycsvdir,'surveys.csv'))
        -使用
        subdir
        获取文件的完整路径
      • csvfiles
        只是一个文件-为什么要使用循环来读取它

      它仍然只显示最后一个文件。我在想,也许我没有正确地整理文件夹?什么是
      mycsvdir
      ?它仍然只显示最后一个文件。我在想也许我没有正确地整理文件夹?什么是
      mycsvdir