3 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊
在我的例子中,當(dāng) 2 個(gè)標(biāo)頭字段具有相同的名稱(chēng)時(shí)會(huì)發(fā)生錯(cuò)誤。解決方案是通過(guò)在每次重復(fù)時(shí)遞增 1 來(lái)確保標(biāo)頭中具有唯一的字段名稱(chēng):
f = ["Ford", "Volvo", "BMW", "Ford", "Ford"]
print(f)
>>['Ford', 'Volvo', 'BMW', 'Ford', 'Ford']
fields_out = [(x if i == f.index(x) else x + str(f.count(x) - f[i + 1:].count(x))) for i, x in enumerate(f)]
print(fields_out)
>>['Ford', 'Volvo', 'BMW', 'Ford2', 'Ford3']
對(duì)于通過(guò)界面進(jìn)行的相同操作,Excel 會(huì)修改重復(fù)字段的名稱(chēng)。
openpyxl 版本 3.0.5

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
我知道這已經(jīng)有一段時(shí)間了,但對(duì)于遇到此問(wèn)題的其他人來(lái)說(shuō),我遇到了類(lèi)似的問(wèn)題。該表有兩列同名。我從 df 中刪除了重復(fù)的列并解決了問(wèn)題。

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
我想到了。這似乎是舊版 openpyxl 的問(wèn)題,我使用的是 2.6.1 版。我更新到最新版本 3.0.4,錯(cuò)誤不再出現(xiàn)。
添加回答
舉報(bào)