我正在pandas中加载一个csv文件,
premier10 = pd.read_csv('./premier_league/pl_09_10.csv')
字符串
然而,我有20多个csv文件,我希望使用循环和预定义的名称作为单独的dfs(每个csv一个df)加载,类似于:
import pandas as pd
file_names = ['pl_09_10.csv','pl_10_11.csv']
names = ['premier10','premier11']
for i in range (0,len(file_names)):
names[i] = pd.read_csv('./premier_league/{}'.format(file_names[i]))
型
(Note,这里我只提供两个csv文件作为示例)不幸的是,这不起作用(没有错误消息,但pd dfs不存在)。
任何提示/链接到以前的问题将不胜感激,因为我还没有发现任何类似的Stackoverflow。
3条答案
按热度按时间e4eetjau1#
1.使用
pathlib
设置文件的路径p
1.使用
.glob
方法查找与模式匹配的文件pandas.read_csv
创建一个嵌套框架pandas.concat
的列表解析来从所有文件创建一个单独的框架。for-loop
中,对象(变量)不能以这种方式创建(例如names[i]
)。'premier10' = pd.read_csv(...)
,其中'premier10'
是str
类型。DataFrame
并添加一个列名称和源文件名。字符串
myzjeezk2#
names = ['premier10','premier11']
不会创建字典,而是一个列表。只需将其替换为names = dict()
或将names = ['premier10','premier11']
替换为names.append(['premier10','premier11'])
即可cetgtptt3#
这就是你想要的:
字符串