我正在尝试创建一个程序,该程序需要用户(我)的输入来创建客户可能想要订购的商品目录。到目前为止,还好。但是我似乎有一个小问题。而不是为每个项目输入填充1行数据,而是填充3行。
我已经尝试删除
ws.write(row, col + 1, title)
ws.write(row, col + 2, cost, money)
但是它只会将ISBN输入写入excel文件。
#data headers
ws.write('A2', 'ISBN', bold)
ws.write('B2', 'Title', bold)
ws.write('C2', 'Cost', bold)
#data to input into cells
isbn = input('ISBN: ')
title = input('Title: ')
cost = input('Cost: ')
#starting rows and columns
row = 2
col = 0
#write it out row by row
for details in (isbn, title, cost):
ws.write(row, col, isbn)
ws.write(row, col + 1, title)
ws.write(row, col + 2, cost, money)
row += 1
#total
ws.write(row, 1, 'Total', bold)
ws.write(row, 2, '=SUM(C:C) ')
wb.close()
预期:Excel为每个项目输入1行数据
实际结果:Excel每个项目输入3行数据
答案 0 :(得分:0)
问题出在您的for
循环中。您正在循环使用列表中的三个项目。如果您只想编写3个单独的项目,则可以删除循环。
或者如果您想继续输入并通过将input()
移动到循环中来编写输入(但请确保您添加退出循环的某种方式)。