【发布时间】:2021-02-18 17:05:25
【问题描述】:
在将所有数据集放入 2D 卷积层之前,我正在尝试使用 pandas 制作一个列表。
我能够将多个 excel 文件中的所有数据合并为一个列表。
但是,该代码仅读取多个 Excel 文件中选择的一个工作表名称。
例如,我在每个 excel 文件中有 7 张工作表;命名为“gpascore1”、“gpascore2”、“gpascore3”、“gpascore4”、“gpascore5”、“gpascore6”、“gpascore7”。
每张纸有 4 行 425 列
如下图,可以看代码。
import os
import pandas as pd
path = os.getcwd()
files = os.listdir(path)
files_xls = [f for f in files if f[-3:] == 'xls']
df = pd.DataFrame()
for f in files_xls:
data = pd.read_excel(f, 'gpascore1') # Read only one chosen sheet available ->
gpascore1 is a sheet name.
df = df.append(data) # But there are 6 more sheets and I would like
to read data from all of the sheets
data_y = df['admit'].values
data_x = []
for i, rows in df.iterrows():
data_x.append([rows['gre'], rows['gpa'], rows['rank']])
df=df.dropna()
df.count()
然后,我得到了如下结果。
这是因为 'gpascore1' 表中的 3 个 excel 文件中的数据被合并了。
但是,我想读取 excel 文件中另外 6 个工作表的数据。
谁能帮我找出答案,好吗?
谢谢
========================================= ========
感谢您的回答,我将 read_excel() 修改为
data = pd.read_excel(f, 'gpascore1') to
data = pd.read_excel(f, sheet_name=None)
但是,我有如下关键错误。
请您就这个问题给我一些建议吗?
谢谢
【问题讨论】:
-
如果你通过
sheet_name = Nonepd.read_excel将返回一个数据框字典,其中键是工作表名称 -
您可以通过创建列表来循环工作表名称
-
感谢 Manakin 的回答并尝试更改代码,但它显示了一些关键错误问题,因此我发布了更新的错误。请您检查一下发生了什么?
标签: python excel pandas tensorflow