循环读取文件夹下每一个子文件夹的csv并存储到dfs中

img


为什么我的路径是正确的的 但是还是找不到文件 有没有人能帮我改改

以下答案由GPT-4.5Plus大模型(语音)与博主A努力中.......共同编写:

可以使用os和pandas读取文件夹下每个子文件夹的csv文件,并存储到一个pandas DataFrame中。代码如下:

python
import os 
import pandas as pd

# 获取文件夹下所有的子文件夹名
dirs = os.listdir('path/to/folder')

# 遍历每个子文件夹
for d in dirs:
    # 获取子文件夹下所有csv文件
    files = os.listdir('path/to/folder/' + d)
    csv_files = [f for f in files if f.endswith('.csv')]
    
    # 读取每个csv文件,存储到DataFrame
    for f in csv_files:
        df = pd.read_csv('path/to/folder/' + d + '/' + f)
        # 如果是第一个csv,直接定义df,否则追加
        if 'df' not in locals():
            df = df
        else:
            df = pd.concat([df, df])

# df中存储了所有子文件夹下的csv文件内容    

这个代码会:

  1. 获取指定文件夹下所有的子文件夹名
  2. 遍历每个子文件夹
  3. 在每个子文件夹下获取所有csv文件
  4. 读取每个csv文件,存储到DataFrame。如果是第一个csv,直接定义df,否则使用pandas.concat()追加。
  5. 最终df中会存储所有子文件夹下的csv文件内容。