前提・実現したいこと
pythonでcsvから取得したデータを元に、HTMLに出力する処理を作成しています。
発生している問題・エラーメッセージ
後述のソースで1つ目のfor文が実行されたあとに、2つ目のfor文が実行されず
そのまま次のopenに移行してしてしまいます。
特にエラーメッセージなども出ないため、どこに問題があるのかわかりません。
原因や解決方法に心当たりがあれば教えていただけると助かります。
該当のソースコード
python
1with open('./item_master.csv', newline="", encoding="utf-8") as f: 2 reader = csv.reader(f) 3 itemList = "" 4 5 for i, row in enumerate(reader): 6 itemList += '<li><a href="./item/item_'+ row[1] +'.html">'+ row[1] + ':' + row[2] + '</a></li>\n' 7 i = str(i) 8 print('itemList生成中: ' + row[1]) 9 10 for i, row in enumerate(reader): 11 print("test") 12 genaratItemHtml(row, itemList) 13 14 15 with open('./html/item_index.html', mode='w', encoding="utf-8") as f: 16 itemList = "<h1>リスト</h1><ul>" + itemList + "</ul>" 17 f.write(itemList)
試したこと
2つ目のfor文の代わりに適当なif文などに差し替えても同じ結果で処理がスルーされていました。
for文の順序を入れ替えても、1つ目が実行されたあと、2つ目はやはりスルーされます。
for i, row in enumerate(reader):
スルーされるというのは具体的には上記の行(2つ目のfor文)にブレークポイントを仕込んで止めたあとステップインすると
with open('./html/item_index.html', mode='w', encoding="utf-8") as f:
for文の中に入らずこちらの行まで飛ばされる形です。
補足情報(FW/ツールのバージョンなど)
windows10
python3.8
VScode でコーディング、デバッグしています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/17 05:08