![](/img/trans.png)
[英]How can I replace HTML code inside an excel sheet using Python and openpyxl?
[英]python and openpyxl : how to replace new occurence of a date on excel sheet?
我有一個 excel 表,其中包含兩列(A 和 B)上的數據,如下所示:
一個 | 乙 | (供參考) |
---|---|---|
蘋果 | 橙 | (“情侶 1”) |
番茄 | 蘿卜 | (“情侶 2”) |
香蕉 | 獼猴桃 | (“情侶 3”) |
橙 | 蘋果 | (“情侶1”新出現) |
番茄 | 蘿卜 | (《情侶2》新登場) |
沙拉 | 茄子 | (“情侶 4”) |
我想用 à 0(零)替換同一“夫婦”的每一個新出現,就像這樣:
一個 | 乙 | (供參考) |
---|---|---|
蘋果 | 橙 | (“情侶 1”) |
番茄 | 蘿卜 | (“情侶 2”) |
香蕉 | 獼猴桃 | (“情侶 3”) |
0 | 0 | |
0 | 0 | |
沙拉 | 茄子 | (“情侶 4”) |
我教過這樣一個簡單的代碼就可以了:
import openpyxl
from openpyxl import *
import numpy
from numpy import *
wb = load_workbook("Desktop/programme/wb.xlsx")
ws = wb["Sheet"]
stop_row = ws.max_row + 1
for n1 in range(1,stop_row) :
for n2 in range(2,stop_row) :
item_a = ws.cell(row=n1, column=1).value
item_b = ws.cell(row=n1, column=2).value
item_1 = ws.cell(row=n2, column=1).value
item_2 = ws.cell(row=n2, column=2).value
if (item_a == item_1 and item_b == item_2) or (item_a == item_2 and item_b == item_1) :
ws.cell(row=n2, column=1).value = 0
ws.cell(row=n2, column=2).value = 0
但我得到的是:
一個 | 乙 | (供參考) |
---|---|---|
蘋果 | 橙 | (“情侶 1”) |
0 | 0 | (“情侶 2”) |
0 | 0 | (“情侶 3”) |
0 | 0 | (“情侶1”新出現) |
0 | 0 | (《情侶2》新登場) |
0 | 0 | (“情侶 4”) |
知道為什么嗎?
謝謝
第一次迭代,n1 = 1 和 n2 = 1。值item_1
和item_a
將與該設置相同,因為它們指向同一個單元格。 與item_2
和item_b
相同。 也許你的第二個循環應該是range(n1 + 1, stop_row)
? 如果 n1 + 1 大於 stop_row,請不要擔心; 它只是不會計算任何東西而不是循環。
另外,請注意,如果這樣做,則必須從 0 開始 n1,否則將永遠不會考慮第一行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.