Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import csv
- import io
- import datetime
- from collections import Counter
- filename = str(input('Введите полный путь до csv таблицы или ее имя: '))
- with io.open(filename, encoding='utf-8') as f:
- readf = csv.reader(f, delimiter=',')
- rows = []
- col_names = []
- for row in readf:
- rows.append(row)
- rows_new = []
- print('\nТаблица считана и обработана.')
- print('\nСтрок в таблице:', len(rows),'\nС какой начнем?\nВнимание: в нулевой строке содержатся названия колонок, мин. значение для работы скрипта = 1')
- i = int(input())
- while (i < len(rows)):
- if rows[i][2] != '':
- if rows[i][8] != '':
- if float(rows[i][2]) > 1 and float(rows[i][8]) <= 15:
- rows_new.append(rows[i])
- print(str(i)+'/'+str(len(rows)-1)+' | Строка добавлена!')
- else:
- print(str(i)+'/'+str(len(rows)-1)+' | Строка не подходит под условия импорта')
- else:
- print(str(i)+'/'+str(len(rows)-1)+' | Ошибка: у товара нет цены и продолжительности')
- else:
- print(str(i)+'/'+str(len(rows)-1)+' | Ошибка: у товара нет цены')
- i += 1
- print('\nПолучилось строк: ', len(rows_new))
- print('\nРазбираемся со столбцом "Технологии"...\n')
- vendors_t = []
- vendors = []
- for row in rows_new:
- vendors_t.append(row[1])
- counter = Counter(vendors_t)
- for t in counter:
- vendors.append(t)
- el = []
- el_c = []
- for r in range(len(vendors)):
- el.append([])
- for row in rows_new:
- if row[1] == vendors[r]:
- el[r].append(row)
- el_c.append(len(el[r]))
- d = 0
- for i in range(len(el_c)):
- d = 0
- if el_c[i] > 1:
- for j in range(el_c[i]):
- if el[i][j][10] == '': d += 1
- if d < el_c[i]:
- for j in range(el_c[i]):
- if el[i][j][10] == '': el[i][j][10] = 'Основная группа'
- rows[0][0] = 'Код'
- with open('output_'+datetime.datetime.now().strftime("%Y%m%d-%H%M%S")+'.csv', 'w', newline='', encoding='utf-8') as csv_file:
- writer = csv.writer(csv_file, delimiter=',', quoting=csv.QUOTE_ALL)
- writer.writerow(rows[0])
- for i in range(len(el_c)):
- for j in range(el_c[i]):
- writer.writerow(el[i][j])
- print('Готово! Выходной файл сохранен как output_'+datetime.datetime.now().strftime("%Y%m%d-%H%M%S")+'.csv')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement