第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Openpyxl 比較單元格

Openpyxl 比較單元格

函數(shù)式編程 2021-09-14 15:21:26
我有 2 張帶有一些數(shù)據(jù)的工作表(每張 18k 行),需要檢查 source.xlsx 中的值是否存在于 target.xlsx 文件中。源文件中的行應(yīng)該是唯一的。如果源文件中的單元格存在于目標(biāo)文件中(在特定列中),則在目標(biāo)文件的下一列中需要填充源文件中某列的值。這非常棘手,因此示例如下所示:目標(biāo).xlsx<table><tbody><tr><th>Data</th><th>price</th><th> </th></tr><tr><td>1234grt   </td><td> </td><td> </td></tr><tr><td>7686tyug  </td><td> </td><td> </td></tr><tr><td>9797tyu   </td><td>   </td><td> </td></tr><tr><td>9866yyy   </td><td> </td><td> </td></tr><tr><td>98845r  </td><td> </td><td> </td></tr><tr><td>4567yut  </td><td> </td><td> </td></tr><tr><td>1234grt</td><td> </td><td> </td></tr><tr><td>98845r </td><td> </td><td> </td></tr></tbody></table>源文件.xls<table><tbody><tr><th>Data</th><th>price</th><th> </th></tr><tr><td>98845r    </td><td>$50</td><td> </td></tr><tr><td>7686tyug  </td><td>$67</td><td> </td></tr><tr><td>9797tyu   </td><td>$56</td><td> </td></tr><tr><td>4567yut   </td><td>$67</td><td> </td></tr><tr><td>9866yyy   </td><td>$76</td><td> </td></tr><tr><td>98845r    </td><td>$56</td><td> </td></tr><tr><td>1234grt</td><td>$34</td><td> </td></tr></tbody></table>for i in range(1, source_sheet_max_rows, 1):print(i)if source_wb[temp_sheet_name].cell(row=i, column=1).value in target_values:    for j in range(1, target_sheet_max_rows, 1):        if target_wb[temp_sheet_name].cell(row=j, column=1).value == source_wb[temp_sheet_name].cell(row=i,                                                                                                           column=1).value:            target_wb[temp_sheet_name].cell(row=j, column=2).value = source_wb[temp_sheet_name].cell(row=i,                                                                                                             column=2).value            target_wb.save(str(temp_sheet_name))target_values - 包含目標(biāo)表中第 1 列的值上面的代碼有效,但很重,我認(rèn)為有一些更好的方法。這些文件包含超過(guò) 18k 行,因此比較數(shù)據(jù)需要很長(zhǎng)時(shí)間。棘手的部分是我需要知道源文件中的單元格在目標(biāo)文件中的哪一行用相應(yīng)的值填充列。我正在使用 openpyxl,但如果更容易,我可以使用 Pandas。
查看完整描述

2 回答

?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

根據(jù)我對(duì)您的問(wèn)題的理解,似乎目標(biāo)文件中的行與源文件的特定順序不同。


for i in range(1, souce_sheet_max_rows):

    for j in range(1, target_sheet_max_rows):

        if target_wb[temp_sheet_name].cell(row=j, column=1).value == source_wb[temp_sheet_name].cell(row=i, column=1).value:

            target_wb[temp_sheet_name].cell(row=j, column=2).value == source_wb[temp_sheet_name].cell(row=i, column=2).value

            break

target_wb.save(temp_sheet_name)


查看完整回答
反對(duì) 回復(fù) 2021-09-14
  • 2 回答
  • 0 關(guān)注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)