【问题标题】:Write on existing sheet instead of adding a new one在现有工作表上书写而不是添加新工作表
【发布时间】:2022-06-14 21:10:53
【问题描述】:

当我循环通过记录将它们添加到 Excel 文件中时,它会为每个循环创建一个工作表,它总是写在顶部,并且同一张工作表会创建一个新的工作表,因此文件仅以最后一个循环结束

有人可以帮忙吗?

def faz_fich_excell(titulo,xp,xp1,yp):
    ficheiro = "teste.xlsx"

    ayp = list(yp)
    axp = list(xp)
    axp1 = list(xp1)
    titulof = titulo[:30].replace(" ", "")

    if not os.path.exists(ficheiro):
        wb = openpyxl.Workbook()
    else:
        wb = openpyxl.Workbook(os.path.join(ficheiro))

    wb.save(os.path.join(ficheiro))
    os.chmod(os.path.join(ficheiro), 0o777)
    wb = openpyxl.Workbook(os.path.join(ficheiro))

    ws = wb.create_sheet(titulof)
    ws.title = titulof

    wb.active = wb[titulof]

    r=1
    if not axp1:
        for y, x in zip(ayp, axp):
      
            try:
                ws['A{0}'.format(str(r))] = y
                ws['B{0}'.format(str(r))] = x
            except:
                ws.append([y,x])

            r += 1
    else:
        for y,x,z in zip(ayp,axp,axp1):
            try:
                ws['A{0}'.format(str(r))] = y
                ws['B{0}'.format(str(r))] = x
                ws['C{0}'.format(str(r))] = z
            except:
                ws.append([y,x,z])

            r += 1
    wb.save(os.path.join(ficheiro))

【问题讨论】:

  • "insted 创建一个新的": 新的 what?

标签: python-3.x openpyxl


猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多