我在一個應該讀取CSV文件並將每行寫入XLSX文件的項目中有一段代碼。現在,當我通過命令行運行時,出現錯誤「參數1必須是迭代器」。參數1必須是一個迭代器 - 我做錯了什麼?
下面是相關代碼:
import os
import openpyxl
import csv
from datetime import datetime
from openpyxl.reader.excel import load_workbook
...
plannum = 4
...
alldata_sheetname = ("All Test Data " + str(plannum))
wb = load_workbook("testingtemplate.xlsx", keep_vba=True)
...
ws_testdata = wb.get_sheet_by_name(alldata_sheetname)
...
with open("testdata.csv", 'r') as csvfile:
table = csv.reader(csvfile)
for row in table:
ws_testdata.append(row)
csv_read = csv.reader(csvfile)
...
和特定錯誤讀取:「類型錯誤:參數1必須是一個迭代器」,並引用的代碼的最後一行我提供。
因爲它沒有埋怨我第一次用csvfile
,它會更好,如果我不喜歡的東西csvfile = open("testdata.csv", "r")
而不是使用with
(並且是我在做什麼錯在這裏)?如果是這樣的話,還有什麼我需要改變?
感謝任何人的幫助!
你通過你去'csv_read = csv.reader(csvfile)'時關閉該文件。第二步意味着什麼? – bernie
接下來的幾行代碼在繼續之前從CSV中獲取一些變量。 'gcount = sum(1表示csv_read中的行)'是下一行,稍後用於我在xlsx文件中操縱數據的位置。 – DJGrandpaJ
好的,您可以使用另一個'with'語句再次打開文件。 – bernie