私は行のforループを使用し、この時点でsql_command
ブロックPython XLSXWRITE作成できる列の数に制限はありますか?
...
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)
を使用して56列を含むSQL Serverテーブルから読み出し、Pythonスクリプトを作成し、行と列
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()
を記述しています
これは、エラーやメッセージ トレースバック(最後の最新の呼び出し)スロー: ファイルを "D:\ Cognos_TestingのEsri \ Pythonの\のxlsexport_v2.py \" BRAND、SUBCOMPANY、GROUP_、適用範囲、POLICY_NUMBERため では、ライン282、 、POLICY_INFORCE_DATE、POLIC Y_START_DATE、POLICY_END_DATE、POLCOUNT、RISKCOUNT、SUM_INSURED、登録、メーカー、モデル、YEAR_MANUFACTURED、TOWN、郵便番号、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、BROKER、FLOOD_FLAG、FLOOD_PREMIUM、FLOOD_COVERAGE、FLOOD_RISK_CONTENTS、FLOOD_RISK_BUILDING、BUSHFIRE_RATING、禁輸、YEAR_CONSTRUCTED、CONSTRUCTION_TYPE、ROOF_TYPE、WALLTYPE、FLOORTYPE、UNIT_FLAG、HH_HIGH_RISK_AREA_FLAG、POLICY_STATUS、POLICY_PAID、NEWBUSINESS_RENEWALで(行): ValueError:アンパックする値が多すぎます
あなたの行の中の他のものよりも列の数が少ないように見えます。エラーメッセージの完全なトレースバックを投稿してください。 – Selcuk
問題は私が推測したように 'for'行にあります。あなたはあなたの '行'に35未満の列を持っています。 'for row in rows:'を使ってループし、 'row'をループの中に表示して調べてみましょう。 – Selcuk
申し訳ありませんが、間違ったトレースバックを使用しました。私は編集し、最初のトレースを投稿に追加しました。 – AussiePete2015