python - 创建一个循环,在多个 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
非常感谢您的帮助。
解决方案
您必须放置一个索引(列数减 1)或切片(列的范围)但不要忘记您的 ReadCSV 是一个 DataFrame。
所以尝试:
data[tab] = ReadCSV.x
假设列的名称是字符串 'x'
推荐阅读
- vhdl - VHDL 无法推断“”在“”的寄存器,因为它不会在时钟沿之外保持它的值
- strapi - Strapi 错误:“JSON 输入意外结束”
- powershell - powershell中带有正则表达式的单词计数器
- excel - 在 Excel 的数据透视表中显示没有数据的项目并按其他字段筛选
- javascript - 与 discord.js 一起使用时不工作的 clearTimeOut 函数
- python - 如果一个表的列等于第二个表中的列,则在第三个表中插入值,python - mysql
- javascript - 我该如何处理“承诺{
}”在这段代码中? - c# - AuthenticationException:使用安全 Web 套接字调用 SSPI 失败
- sql - SQL Excercise(演员人数众多的电影)
- cakephp - E/Volley:[839] BasicNetwork.performRequest:意外响应代码 404