TransWikia.com

Прерывается цикл, если условие не выполняется

Stack Overflow на русском Asked on December 26, 2021

Написал небольшую программку для интернет-магазина, которая берет значения названия товаров из XLS-таблицы, сравнивает их с CSV-табличкой и парсит наличие этих товаров в новую табличку.

Проблема в том, что названия товаров в CSV-табличке иногда редактируются и, если совпадения не найдено, цикл останавливается и наличие парсится до первого такого несовпадения. Если дописать условие(ниже приведено с ним), что при несовпадении просто добавлять к счетчику +1 и идти дальше, то наличие вообще перестает парситься.

import string
import csv
import requests
import shutil
import urllib3
from openpyxl import load_workbook

wb = load_workbook(filename = '20-07.xlsx')
sheet = wb['Ассортимент']


idx=0
def write_cells(ostatok):
    sheet['AH' + str(5 + idx)] = ostatok

CSV_URL = 'https://opt-baza.com/tovari.csv'

with requests.Session() as s:
    download = s.get(CSV_URL)
    csv_content = download.content.decode('cp1251', errors='replace')
    spamreader = csv.reader(csv_content.splitlines(), delimiter=';', quotechar='"')
    for row in spamreader:
        name = sheet['C' + str(5 + idx)]
        if row[1] == name.value:
            write_cells(ostatok = row[4])
            idx+=1
        if row[1] != name.value:
            idx+=1

print("Успех")
wb.save(filename='20-07-NAL.xlsx')

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP