【发布时间】:2023-01-27 00:47:19
【问题描述】:
我有一个 excel 提取文件,该文件以 .xls 后缀命名。但这个文件实际上是一个 XML 电子表格。我正在努力用 python 阅读此内容以进行分析。在这个文件中有 3 张,我需要专门阅读 sheetname ="sheetname3"
我尝试了以下几件事。
1- 尝试将 pd.read_excel 与 openpyxl 引擎一起使用。
kpath = os.path.join(r"F:\DOCUMENT\Treasury\Test\K vs Clearer", 'REC_IRSOIS_' + DATE + '.xls')
df = pd.read_excel(kpath, sheet_name ="sheetname3", engine="openpyxl")
2- 下面我尝试以编程方式转换此 Excel XML 文件,但不确定如何在此处指定工作表名称。
class ExcelHandler(ContentHandler):
def __init__(self):
self.chars = [ ]
self.cells = [ ]
self.rows = [ ]
self.tables = [ ]
def characters(self, content):
self.chars.append(content)
def startElement(self, name, atts):
if name=="Cell":
self.chars = [ ]
elif name=="Row":
self.cells=[ ]
elif name=="Table":
self.rows = [ ]
def endElement(self, name):
if name=="Cell":
self.cells.append(''.join(self.chars))
elif name=="Row":
self.rows.append(self.cells)
elif name=="Table":
self.tables.append(self.rows)
excelHandler = ExcelHandler()
parse(kpath, excelHandler, sheet_name= "IRS & OIS Reconciliation Output")
【问题讨论】:
-
当你阅读
pandas时会发生什么? -
你似乎有点困惑XML和xls.如果文件是XML,你为什么不使用它来阅读它pd.readXML?
-
@CristiFati,我猜 OP 意味着它是 xlsx 文件,扩展名为 xls。但你是对的,这还不清楚
-
该文件的名称中包含 .xls,因此它不起作用。
-
当我尝试阅读 pandas 时,出现错误 BadZipFile: File is not a zip file。 df = pd.read_excel(kpath, header=None, engine="openpyxl")