为了账号安全,请及时绑定邮箱和手机立即绑定

使用Openpyxl将内容粘贴到Excel中时,如何跳过一个或多个单元格?

使用Openpyxl将内容粘贴到Excel中时,如何跳过一个或多个单元格?

拉莫斯之舞 2021-04-10 18:15:07
我正在尝试将文本粘贴到现有Excel的列中。但是,我需要跳过所有突出显示的单元格。例如:content.txt12345workbook.xlsx应该看起来像以下是我到目前为止的代码:import os, openpyxlf = open("content.txt", mode="r+")wb = openpyxl.load_workbook(filename = 'workbook.xlsx')worksheet = wb.activer = 1for line in f.readlines():    if worksheet.cell(row=r, column=9).fill.bgColor.value != '00000000':        r+=1        worksheet.cell(row=r, column=1).value = line        r+=1        continue    else:        worksheet.cell(row=r, column=1).value = line        r += 1f.close()但它只跳过突出显示的一行。尽管如此,我仍在设法弄清楚。或者,如果我编写这样的代码:import os, openpyxlf = open("content.txt", mode="r+")wb = openpyxl.load_workbook(filename = 'workbook.xlsx')worksheet = wb.activer = 1for line in f.readlines():    if worksheet.cell(row=r, column=9).fill.bgColor.value != '00000000':       r+=1       continue    else:        worksheet.cell(row=r, column=1).value = line    r += 1f.close()结果将是:( 该txtline也会被跳过...)让我知道您是否有任何想法。我是否应该使用while循环...?谢谢!!
查看完整描述

2 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

if在for循环中添加一条语句


r = 1

for line in f.readlines():

    if worksheet.cell(row=r, column=1).fill.bgColor.value != '00000000':

    # '00000000' corresponds to no fill

       continue

    worksheet.cell(row=r, column=1).value = line

    r += 1

f.close()

另外,r+=1您在此处发布的代码中缺少缩进。


查看完整回答
反对 回复 2021-04-20
  • 2 回答
  • 0 关注
  • 231 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信