Ich habe ein Python-Skript erstellt, das aus einem SQL Server-Tabelle liest 56 Säulen unter Verwendung eines sql_command
BlockPython XLSXWRITE Gibt es eine Begrenzung für die Anzahl der Spalten, die erstellt werden können?
...
db_cursor.execute(sql_command)
rows = db_cursor.fetchall()
worksheet.set_column('A:A',11) #[BRAND] [varchar](10) NULL,
...
worksheet.set_column('BD:BD',11) #[NEWBUSINESS_RENEWAL] [varchar](1) NULL
...
worksheet.write('A1','BRAND', Headerfm)
...
worksheet.write('BD1','NEWBUSINESS_RENEWAL', Headerfm)
An diesem Punkt I enthalten, auf Zeilen einer for-Schleife verwenden, und die Zeilen- und Spaltenschreib
for Brand, ...NEWBUSINESS_RENEWAL in (rows)
worksheet.write(xlrow, xlcol, BRAND, Cellfm2)
worksheet.write(xlrow, xlcol + 1, SUBCOMPANY, Cellfm1)
...
worksheet.write(xlrow, xlcol + 55, NEWBUSINESS_RENEWAL, Cellfm1)
xlrow += 1
workbook.close()
Dies wirft dann den Fehler oder Nachricht Traceback (jüngste Aufforderung zuletzt): Datei "D: \ Cognos_Testing \ Esri \ python \ xlsexport_v2.py", Linie 282, in für BRAND, subcompany, GROUP_, COVERAGE, POLICY_NUMBER , POLICY_INFORCE_DATE, POLIC Y_START_DATE, POLICY_END_DATE, POLCOUNT, RISKCOUNT, SUM_INSURED, Registrierung, Marke, Modell, YEAR_MANUFACTURED, Ort, Postleitzahl, State_, street_number, STREET_NAME, STREET_SUFFIX, STREET_OTHERDETAILS, GEOCODED_TOWN, GEOCODED_POSTCODE, GEOCODED_STATE, GEOCODED_STREET_NAME, INSURED_NAME, INSURED_HOMEPHONE, INSURED_WORKPHONE, INSURED_MOBEPHONE, INSURED_OTHERPHONE, INSURED_EMAIL, SECOND_INSURED_NAME, SECOND_INSURED_HOMEPHONE, SECOND_INSURED_WORKPHONE, SECOND_INSURED_MOBEPHONE, SECOND_INSURED_EMAIL, AGENCY_NAME, vermittler, FLOOD_FLAG, FLOOD_PREMIUM, FLOOD_COVERAGE, FLOOD_RISK_CONTENTS, FLOOD_RISK_BUILDING, BUSHFIRE_RATING, Embargo, YEAR_CONSTRUCTED, CONSTRUCTION_TYPE, ROOF_TYPE, WALLTYPE, FLOORTYPE, UNIT_FLAG, HH_HIGH_RISK_AREA_FLAG, POLICY_STATUS, POLICY_PAID, NEWBUSINESS_RENEWAL in (Zeilen): ValueError: zu viele Werte zum Entpacken
Sieht so aus, als hätten Sie weniger Spalten als andere in einer Ihrer Zeilen. Bitte posten Sie die vollständige Rückverfolgung Ihrer Fehlermeldung. – Selcuk
Das Problem ist mit Ihrer 'für' Linie, wie ich vermutete. Sie haben weniger als 35 Spalten in Ihren Zeilen. Versuchen Sie, mit 'for row in rows 'zu loopen:' und drucken Sie die 'row' innerhalb der Schleife, um zu prüfen, ob dies der Fall ist. – Selcuk
Entschuldigung, ich habe die falsche Spur zurück verwendet. Ich habe die erste Spur bearbeitet und hinzugefügt. – AussiePete2015