def test_archive(dir_fixtures): with Dbf.open_zip('bik_swif.dbf', path.join(dir_fixtures, 'bik_swift-bik.zip'), case_sensitive=False) as dbf: assert dbf.prolog.records_count == 369 for row in dbf: assert row.name_srus == '"СИБСОЦБАНК" ООО' break
def _read_zipped_db(cls, zipped, filename): with Dbf.open_zip(filename, zipped, case_sensitive=False) as dbf: for row in dbf: yield row
sheet = wb['Лист1 (2)'] tariffs = { 5: "Экономичный экспресс", 10: "Экспресс лайт" } receivers_kladr = [sheet.cell(row=i, column=9).value for i in range(2, 38132)] senders_kladr = [sheet.cell(row=i, column=5).value for i in range(2, 38132)] receivers_fias = [sheet.cell(row=i, column=4).value for i in range(2, 38132)] senders_fias = [sheet.cell(row=i, column=8).value for i in range(2, 38132)] cities: Dict[str, str] = {} with Dbf.open('KLADR.DBF') as dbf: for row in dbf: cities.setdefault(row[2], row[0]) with open('sdek.csv', mode='w', encoding='utf-8') as sdek_csv: file_writer = csv.writer(sdek_csv, delimiter=",", lineterminator="\r") file_writer.writerow( ["Ключ (ОткудаФИАС+КудаФИАС)", "метод доставки", "Цена", "Минимальный срок", "Максимальный срок"]) for i in tqdm(range(len(senders_kladr))): sender_name = cities[senders_kladr[i]] receiver_name = cities[receivers_kladr[i]] sender_fias = senders_fias[i] receiver_fias = receivers_fias[i] try: response = sdek.get_sdek(sender_name, receiver_name)
def read_db_(name): with Dbf.open(path.join(dir_fixtures, name)) as dbf: yield dbf