【发布时间】:2019-11-18 20:03:13
【问题描述】:
我正在尝试让我的代码读取包含各种文件的文件夹。 我希望让 Jupyter 读取该文件夹中的每个文件,并通过将文件的名称作为数据框名称来创建单独的数据框。
到目前为止我有代码:
import glob
path = r'C:\Users\SemR\Documents\Jupyter\Submissions'
all_files = glob.glob(path + "/*.csv")
li = []
for filename in all_files:
df = pd.read_csv(filename, index_col=None, header=0, usecols=['Date', 'Usage'])
li.append(df)
frame = pd.concat(li, axis=0, ignore_index=True)
此代码连接数据,但我希望每个数据帧都有单独的数据帧,以便我可以单独存储值。有什么可以代替的吗?
这些 CSV 文件位于同一个文件夹中,因此我希望在运行代码时,会创建与 CSV 文件名同名的新数据框。
谢谢。
【问题讨论】:
-
单独存储值是什么意思?
-
不确定您要达到的目标,但这可能是更好的方法:stackoverflow.com/questions/50066635/…
-
在文件夹中的每个 CSV 文件中,数据包含日期和每个日期的值(即)。我正在尝试创建一个函数,它只从每个文件中获取值列,然后循环它,这样我就可以分别计算出每个 df 的平均值。有意义吗?
-
最好只有一个大数据框,将文件名存储为一列(参见我之前的链接),然后使用
groupby计算每个文件的平均值。 -
@MartinEvans 将 " d = {os.path.basename(f).split('.')[0]:pd.read_csv(f) for f in glob.glob('*. csv') if "test" in f}" 是你在说什么?
标签: python pandas file directory