我正在学习Python。
这是我正在尝试做的事情,按照我正在努力做的顺序:
问题: 我似乎无法将行数写入工作表。
我的代码:
import os, csv, re, openpyxl
file_storage = []
excel_storage = []
excel_columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
rowData = []
os.chdir('C:\\Users\\testing\\Desktop\\python\\chapter_14\\practice_project_files')
print(str(os.getcwd()))
for filenames in os.listdir():
file_storage.append(filenames)
for x in range(len(file_storage)):
file_type = re.compile('.*\.xlsx')
files_found = file_type.search(file_storage[x])
if files_found:
excel_storage.append(file_storage[x])
for y in range(len(excel_storage)):
wb = openpyxl.load_workbook(excel_storage[y])
#print(wb.sheetnames)
#print(str(len(wb.sheetnames)))
for z in range(len(wb.sheetnames)):
wb.active = z
sheet = wb.active
with open('test.csv', 'wb') as f:
csvWriter = csv.writer(f)
for r in range(1,sheet.max_row + 1):
for colNum in range(0, sheet.max_column ):
stuff = sheet[excel_columns[colNum] + str(r)].value
rowData.append(stuff)
csvWriter.writerow(r)
wb.close()
我的代码部分特别给我带来了问题:
rowData.append(东西)
csvWriter.writerow(r)的
我收到的错误消息:
可迭代的预期,而不是int
我做错了什么?
答案 0 :(得分:1)
您正尝试将行号写为CSV文件中的整行。将csvWriter.writerow(r)
替换为csvWriter.writerow(rowData)
,并在rowData = []
行前添加for colNum in ...
。