我目前正在尝试读取包含多个表格的Excel文件,但表格没有保存为表格,它们就像信息一样保存,但分为表格(不知道这是否有意义),我已经到了这样的地步我可以读取 Excel 文件,但它也会读取我不感兴趣的空单元格,我只需要读取表格。
这是我到目前为止编写的代码:
def separar_tablas(df):
tablas = []
dfs = []
tabla_actual = None
for _, row in df.iterrows():
for i, value in row.items():
etiqueta = str(row[2])
if pd.notnull(value):
if etiqueta.startswith('RuleTable'):
if pd.notnull(etiqueta):
tablas.append(etiqueta)
if tabla_actual is not None:
dfs.append(tabla_actual)
tabla_actual = pd.DataFrame(columns=df.columns)
tabla_actual = pd.concat([tabla_actual, row],axis = 1, ignore_index=True)
dfs.append(tabla_actual)
return dfs
输出示例:
read_excel
不支持范围或名称。您必须使用 openpyxl 读取范围或表的值并从中创建 DataFrame。例如下面的代码:
path=r"c:\projects\Spikes\Book1.xlsx"
wb=load_workbook(filename=path)
ws=wb['Sheet1']
table=ws.tables["Table1"]
rng=ws[table.ref]
data_rows=[]
for row in rng:
data_rows.append([cell.value for cell in row])
print(table.ref)
pd.DataFrame(data_rows[1:], columns=data_rows[0])
打印
>>> print(table.ref)
D6:F9
>>> pd.DataFrame(data_rows[1:], columns=data_rows[0])
A B C
0 1 5 Banana
1 2 6 Potato
2 34 8 Tomato