首页 > 解决方案 > 每次运行代码时,如何将输入从 python 传输到 excel 中增加的行

问题描述

我是python的初学者,请教一个问题。我对这段代码的意图是让它接受 Python 中的输入并以增加行的方式将它们传输到 Excel 中。例如,第一个输入到 A1,下一次运行的下一个输入到 A2,等等。

wb = openpyxl.load_workbook('name.xlsx')
ws = wb.active

yourname=input("Please enter your name here: ")
i=0
while True:
    ws['A'+i] = yourname
    i += 1
    break
wb.save('name.xlsx')

谢谢你。

标签: python

解决方案


ws['A'+i] = yourname这可能不适用于 openpyxl ,您可以将其与 xlwings 一起使用,对于 openpyxl 使用这个ws.cell(rownum, colnum).value=data

import openpyxl as op
wb = op.load_workbook('name.xlsx')
ws = wb.active

i=1
# i = 1 because Excel row starts with 1 
while True:
    # enter exit when you're done
    yourname = input("Please enter your name here: ")
    if yourname == 'exit':
        break

    else:
        # i is for row count and 1 is for column column, you can change these as per your need

        ws.cell(i,1).value= yourname
        i= i+1

wb.save('name.xlsx')

推荐阅读