Ich habe eine Excel-Datei mit vielen Blättern. Es gibt nur eine Spalte in jedem Blatt, nämlich Spalte A. Ich habe vor, die Excel-Datei mit der Methode read_excel()
zu lesen. Hier ist der Code:Wie pandas read_excel() für Excel-Datei mit mehreren Blättern verwenden?
import pandas as PD
ExcelFile = "C:\\AAA.xlsx"
SheetNames = ['0', '1', 'S', 'B', 'U']
# There are five sheets in this excel file. Those are the sheet names.
PageTotal = len(SheetNames)
for Page in range(PageTotal):
df = PD.read_excel(ExcelFile, header=None, squeeze = True, parse_cols = "A" ,sheetname=str(SheetNames[Page]))
print df
#do something with df
Das Problem ist, das for loop
nur einmal ausgeführt wird. Durch die Ausführung des zweiten Elements in der for loop
zeigt es mir die folgende Fehlertext:
File "C:\Python27\lib\site-packages\pandas\io\excel.py", line 170, in read_excel
io = ExcelFile(io, engine=engine)
File "C:\Python27\lib\site-packages\pandas\io\excel.py", line 227, in __init__
self.book = xlrd.open_workbook(io)
File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 422, in open_workbook
ragged_rows=ragged_rows,
File "C:\Python27\lib\site-packages\xlrd\xlsx.py", line 824, in open_workbook_2007_xml
x12sst.process_stream(zflo, 'SST')
File "C:\Python27\lib\site-packages\xlrd\xlsx.py", line 432, in process_stream_iterparse
for event, elem in ET.iterparse(stream):
File "<string>", line 103, in next
IndexError: pop from empty stack
Als Anfänger ich keine Ahnung über diesen Fehler haben. Könnte mir bitte jemand helfen, die Codes zu korrigieren? Vielen Dank.
UPDATE Frage:Wenn es da, dass die Datei Excel viele Formulare und externe Links enthält, warum die for loop
noch seinen ersten Punkt laufen könnte? Verwirrt.
ich denke, sollten Sie irgendwo eine Probe und Excel-Datei, die diesen Fehler reproduzieren helfen können und hier einen Link zu dieser Datei schreiben. PS ich konnte nicht reproduzieren Ihren Fehler mit meinem Beispiel Excel-Datei - alles funktioniert so, wie es sollte – MaxU
@MaxU Danke für den Hinweis. Ich habe gerade getestet, der Code funktioniert gut mit einer einfachen und kleinen Excel-Datei. Aber meine Excel-Datei ist sehr groß und komplex, sie enthält viele formels und viele externe Links. Ich bin nicht sicher, ob es funktioniert, wenn ich nur eine Excel-Datei hochladen ... Wie auch immer, die Excel-Datei sollte der Grund sein. Vielen Dank! – Rita
Es könnte Formeln und externe Links sein, die diese Probleme verursachen. So können Sie versuchen, Ihre Datei als CSV-Datei zu speichern/exportieren und in Pandas lesen – MaxU