У меня есть 2 листа с некоторыми данными (по 18 тыс. Строк), и мне нужно проверить, существует ли значение из source.xlsx в файле target.xlsx.Строки в исходном файле должны быть уникальными.Если ячейка из исходного файла существует в целевом файле (в определенном столбце), то в следующем столбце в целевом файле необходимо заполнить значение из некоторого столбца, который находится в исходном файле.Это довольно сложно, поэтому пример будет выглядеть так:
target.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>
source.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 - содержит значения из столбца 1 целевого листа
Приведенный выше код работает, но очень тяжелый, и я думаю,есть лучший способ сделать это.Файлы содержат более 18 тыс. Строк, поэтому для сравнения данных понадобится много времени.Сложность в том, что мне нужно знать, в какой строке в целевом файле моя ячейка из исходного файла должна заполнить столбец соответствующим значением.Я использую openpyxl, но если бы это было проще, я мог бы использовать панд.
Thx