Пропуск пробелов при добавлении столбцов на листе (csv) к спискам в python - PullRequest
1 голос
/ 03 октября 2019

Так что это мой код, и я пытаюсь добавить информацию из файла CSV в списки. Я пытаюсь избежать добавления пробелов. Первый цикл for, который я вставил, кажется, добился цели, но только для строк [0]. Мне нужно сделать то же самое для lines [1], lines [2], lines [3], но это никогда не работает для второго цикла. Я попробовал вложенные циклы, которые тоже не работали. Есть ли способ, которым я могу упростить это и обеспечить пропуски для каждого элемента в строках. (lines [0]) очень похоже на первый столбец листа и т. д. Спасибо.

import wx


with open('info.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    dropdown_initials = []
    dropdown_printerID = []

    for lines in csv_reader:
        if lines[0] in (None,''):
            continue
        dropdown_initials.append(lines[0])
    print (dropdown_initials)

    for lines in csv_reader:
        if lines[1] in (None,''):
            continue
        dropdown_printerID.append(lines[1])
    print (dropdown_printerID)```


sample for csv: 

User,Object id 1,Info 1 
User2,object id 2,Info 2
User3,object id 3,Info 3
,object id 4,Info 4
,object id 5,Info 5
,,Info 6
,,Info 7
,,Info 8
,,Info 9
,,Info 10

1 Ответ

1 голос
/ 03 октября 2019

Попробуйте это:

import csv


with open(r"Yourfile.csv") as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    dropdown_initials = []
    dropdown_printerID = []

    for lines in csv_reader:
        if lines[0].strip():
            dropdown_initials.append(lines[0].strip())
        if lines[1].strip():
            dropdown_printerID.append(lines[1].strip())
    print (dropdown_initials)
    print (dropdown_printerID)

Я также добавил strip (), чтобы убедиться, что вы не добавляете пробелы в качестве значений.

...