gpt4 book ai didi

python - 如果某些列有交集,如何将行从一张纸复制到另一张纸

转载 作者:行者123 更新时间:2023-12-04 20:57:00 25 4
gpt4 key购买 nike

鉴于:

我有一个文件 grumble.xlsx
里面有 3 个标签:Sheet1 Sheet2 and Sheet 3

Sheet 1 has 588 rows and 11 columns of data

Sheet 2 has 3029 rows and 17 columns of data

Sheet 3 in empty

目标:

如果 sheet1 column_name S2 的值 == 到 sheet2 column_name sp2 的值 -> 从 sheet2 复制整行并将其粘贴到 sheet 3

必须有 588 个匹配项,就像 sheet1 中的行数一样

到目前为止,我已经到了这一点。我不知道该往哪里走
import openpyxl
wb = openpyxl.load_workbook('/home/russell/Desktop/grumble.xlsx')
ws1 = wb.get_sheet_by_name('Sheet1')
ws2 = wb.get_sheet_by_name('Sheet2')
ws3 = wb.get_sheet_by_name('Sheet3')

S1 = set()
S2 = set()

for row in ws1.iter_rows(min_row=2, max_col=10, max_row=588):
for cell in row:
S1.add(cell.value)

for row in ws1.iter_rows(min_row=2, max_col=16, max_row=3029):
for cell in row:
S2.add(cell.value)

print(list(set(S1) & set(S2)))

最佳答案

我建议您为工作表创建两个 Pandas 数据框,以比较结果帧并将其写入第三张工作表。见 http://openpyxl.readthedocs.io/en/latest/pandas.html有关在 openpyxl 和 Pandas 之间转换的更多信息。

关于python - 如果某些列有交集,如何将行从一张纸复制到另一张纸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45649369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com