【问题标题】:Trying to read from multiple columns and write to multiple columns Python openpyxl尝试从多列读取并写入多列Python openpyxl
【发布时间】:2017-10-29 08:19:33
【问题描述】:

我想从 excel 工作簿 Calavi 中读取多个列,然后将所有数据写入 Shelda。但是它一直给我:

for row in range(1, 2, 3, 4, 5,worksheet.max_row):
TypeError: range expected at most 3 arguments, got 6

不完全可以使用多列吗?

wb = openpyxl.load_workbook('C:\WW\CALAVI.xlsx')
first_sheet = wb.get_sheet_names()[0]
worksheet = wb.get_sheet_by_name(first_sheet)


for row in range(1, 2, 3, 4, 5,worksheet.max_row):
    for column in "1, 2, 3, 4, 5":  
        cell_name = "{}{}".format(column, row)
        worksheet[cell_name].value
        for i in range(3, 8):
            ws1.cell(row=i, column=5).value=temp[0]
data = [list('abcd'), list('efgh')]
wb = openpyxl.load_workbook('C:\WW\SHELDA.xlsx')
sheet = wb.active
for i, line in enumerate(data):
    for k, val in enumerate(line):
        sheet.cell(row=i+2, column=k+1).value = val
wb.save('C:\WW\SHELDA.xlsx')

【问题讨论】:

    标签: python excel python-3.x csv openpyxl


    【解决方案1】:

    您看到的错误消息是由于 range 对象使用不当造成的。如果要遍历所有行号,则替换该行

    for row in range(1, 2, 3, 4, 5,worksheet.max_row):
    

    用这个:

    for row in range(1, worksheet.max_row + 1):
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      相关资源
      最近更新 更多