rstJkee
@rstJkee

Как считать csv и правильно распределить всё в листе?

У меня есть csv файл с такими данными
5f6b7b6509e60432233667.png
Мне нужно его считать в lst = [], чтобы не было такой белеберды
{'№': '№;naimenovanie;kolvo;;', 'naimenovanie': None, 'kolvo': None, 'vremya': None, 'zamena': None, 'ost': None}
{'№': '1;Pelmeni;500;;', 'naimenovanie': None, 'kolvo': None, 'vremya': None, 'zamena': None, 'ost': None}
{'№': '2;Adrenalin;450;;', 'naimenovanie': None, 'kolvo': None, 'vremya': None, 'zamena': None, 'ost': None}

Изначальный код
def read_csv(data):
    fieldname = ["№", "naimenovanie", "kolvo"]
    with open("data.csv") as csvfile:
        reader = csv.DictReader(csvfile, fieldnames=fieldname)
        for row in reader:
            data.append(row)
    for row in data:
        print(row)
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
rstJkee
@rstJkee Автор вопроса
Если кому будет интересно: .csv показывается в ide pycharm как строки, с разделителем (delimeter) ";". Поэтому код такой получился
def read_csv(data):
    with open("data.csv", "r") as csvfile:
        file = csv.reader(csvfile, delimiter=";")
        for row in file:
            data.append(row)
    print_data(data)

А если вдруг вывод нужен обратный (ну, например, вы что-то редактировали)
def write_csv(data):
    with open("data.csv", "w") as csvfile:
        wrt = csv.writer(csvfile, delimiter=";", quotechar="|", lineterminator="\r")
        wrt.writerows(data)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы