用Pandas解析excel文件

用Pandas解析excel文件,pandas,Pandas,有没有办法强制Pandas将excel文件中的每一列/每一行逐单元格读取到Dataframe中 我有一些非常时髦的电子表格,有很多奇怪的格式-合并单元格,漏行,等等。解析器试图读取这些数据时会发疯 是否可以强制pandas按m列创建n行数据框,该数据框的内容将直接对应于excel工作表子集的内容,该子集的维度从“A1”单元格开始相同 一个选择是将其保存为excel中的.csv(编写vba脚本以执行更多文件),并将其作为.csv读入pandas,但我一直在寻找更简单的解决方案。我意识到这个问题确实

有没有办法强制Pandas将excel文件中的每一列/每一行逐单元格读取到Dataframe中

我有一些非常时髦的电子表格,有很多奇怪的格式-合并单元格,漏行,等等。解析器试图读取这些数据时会发疯

是否可以强制pandas按m列创建n行数据框,该数据框的内容将直接对应于excel工作表子集的内容,该子集的维度从“A1”单元格开始相同


一个选择是将其保存为excel中的.csv(编写vba脚本以执行更多文件),并将其作为.csv读入pandas,但我一直在寻找更简单的解决方案。

我意识到这个问题确实很老了。也许这对搜索它的人仍然有用

一种方法是像这样自己使用openpyxl提取信息

import openpyxl
import numpy as np
import pandas as pd

wb = openpyxl.load_workbook(filename="path/my_file.xlsx")

ws = wb.worksheets.pop()

n = len(list(ws.iter_cols()))
m = len(list(ws.iter_rows()))
data = np.empty([m,n], dtype=object)
for j,col in enumerate(ws.iter_cols()):
    for i,cell in enumerate(col):
        data[i,j] = cell.value
df = pd.DataFrame(data)