首页 > 解决方案 > 创建一个循环,在多个 CSV 文件中提取名为“x”的列,并将这些列插入到新的数据框中

问题描述

我正在尝试创建一个循环,该循环在多个 .csv 文件中提取名为“x”的列。然后,我想将这些列插入到新的数据框中。在这一点上,我尝试了以下方法:

path = '/path/to/File/.Csv'
List = os.listdir(path)
data = []

    for tab in List:
        df = 'df_'+tab
        ReadCSV = pd.read_csv(r'/path/to/File/' + tab)
        if len(ReadCSV) > 300 :
            data[tab] = ReadCSV[['x']]       
    
    print(data)

我还不明白为什么这个循环不起作用。我还有以下错误声明:

    data[tab] = ReadCSV[['x']]
TypeError: list indices must be integers or slices, not str

非常感谢您的帮助。

标签: pythonpandasdataframeloops

解决方案


您必须放置一个索引(列数减 1)或切片(列的范围)但不要忘记您的 ReadCSV 是一个 DataFrame。

所以尝试:

data[tab] = ReadCSV.x

假设列的名称是字符串 'x'


推荐阅读