37 lines
1.7 KiB
Python
37 lines
1.7 KiB
Python
import pandas as pd
|
|
|
|
def add_depend_stock_column(file_path: str, output_path: str):
|
|
# Загружаем Excel-файл
|
|
df = pd.read_excel(file_path)
|
|
|
|
# Проверка наличия нужных колонок
|
|
required_columns = ['Артикул', 'PartNumber', 'Наличие на сайте']
|
|
for col in required_columns:
|
|
if col not in df.columns:
|
|
raise ValueError(f"Колонка '{col}' не найдена в файле.")
|
|
|
|
# Создаем словарь для быстрого поиска по (Артикул, последние 11 символов PartNumber)
|
|
lookup = {
|
|
(row['Артикул'], str(row['PartNumber'])[-11:]): row['Наличие на сайте']
|
|
for _, row in df.iterrows()
|
|
}
|
|
|
|
# Функция поиска соответствия
|
|
def get_depend_stock(row):
|
|
part = str(row['PartNumber'])[-11:]
|
|
key = (row['Артикул'], part)
|
|
return lookup.get(key, 'Нет данных')
|
|
|
|
# Добавляем колонку
|
|
df['DependStock'] = df.apply(get_depend_stock, axis=1)
|
|
|
|
# Сохраняем в новый файл
|
|
df.to_excel(output_path, index=False)
|
|
print(f"Готово! Результат сохранён в: {output_path}")
|
|
|
|
# Пример использования
|
|
if __name__ == "__main__":
|
|
input_file = "/Users/valis/Yandex.Disk.localized/Python3/Parsing ZARAHOME/src_2024-09-05/records_folder/lighting-ceiling-lamps-n4884.xlsx" # <-- ваш входной файл
|
|
output_file = "/Users/valis/Yandex.Disk.localized/Python3/Parsing ZARAHOME/src_2024-09-05/records_folder/result_with_depend_stock.xlsx" # <-- имя выходного файла
|
|
add_depend_stock_column(input_file, output_file)
|