[英]How to skip one or more cells when pasting content into an Excel by using Openpyxl?
我正在嘗試將文本粘貼到現有Excel的列中。 但是,我需要跳過所有突出顯示的單元格。 例如:
content.txt
1個
2
3
4
5
以下是我到目前為止的代碼:
import os, openpyxl
f = open("content.txt", mode="r+")
wb = openpyxl.load_workbook(filename = 'workbook.xlsx')
worksheet = wb.active
r = 1
for 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 += 1
f.close()
但它只跳過突出顯示的一行。盡管如此,我仍在設法弄清楚。
或者,如果我這樣編寫代碼:
import os, openpyxl
f = open("content.txt", mode="r+")
wb = openpyxl.load_workbook(filename = 'workbook.xlsx')
worksheet = wb.active
r = 1
for 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 += 1
f.close()
讓我知道您是否有任何想法。 我是否應該使用while循環...? 謝謝!!
在for
循環中添加if
語句
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
缺少縮進。
好的,我在@Ash Sharma的幫助下得到了答案!
該代碼對我有用:
import os, openpyxl
f = open("content.txt", mode="r+")
wb = openpyxl.load_workbook(filename = 'workbook.xlsx')
worksheet = wb.active
r = 1
for line in f.readlines():
if worksheet.cell(row=r, column=1).fill.bgColor.value != '00000000':
# '00000000' corresponds to no fill
r+=1
worksheet.cell(row=r, column=1).value = line
r+=1
continue
else:
worksheet.cell(row=r, column=1).value = line
r += 1
f.close()
wb.save('test_Result.xlsx')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.