如何在xlsx中输入1行数据?

时间:2019-04-09 03:47:09

标签: python user-input xlsxwriter

我正在尝试创建一个程序,该程序需要用户(我)的输入来创建客户可能想要订购的商品目录。到目前为止,还好。但是我似乎有一个小问题。而不是为每个项目输入填充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行数据

1 个答案:

答案 0 :(得分:0)

问题出在您的for循环中。您正在循环使用列表中的三个项目。如果您只想编写3个单独的项目,则可以删除循环。

或者如果您想继续输入并通过将input()移动到循环中来编写输入(但请确保您添加退出循环的某种方式)。