2013-10-01 3 views
0

Мне нужно прочитать в CSV-файле из Excel, чьи строки могут быть произвольной длины.Удалить пустые записи в CSV-файле Python

Проблема заключается в том, что python сохраняет эти пустые записи, но их нужно удалить для будущего алгоритма. Ниже выведено, я не хочу пустые записи.

 ['5', '1', '5', '10', '4', ''] 
    ['3', '1', '5', '10', '2', ''] 
    ['6', '1', '5', '10', '5', '2'] 
    ['9', '10', '5', '10', '7', ''] 
    ['8', '5', '5', '10', '7', ''] 
    ['1', '1', '5', '10', '', ''] 
    ['2', '1', '5', '10', '1', ''] 
    ['7', '1', '5', '10', '6', '4'] 
    ['4', '1', '5', '10', '3', '1'] 

ответ

1

Речь идет о такой же подробной функции, как я мог бы писать, чтобы делать то, что вы хотите. Есть, конечно, более простые способы.

def remove_blanks(a_list): 
    new_list = [] 
    for item in a_list: 
     if item != "": 
      new_list.append(item) 
    return new_list 
1

Список версия понимание:

a = ['5', '1', '5', '10', '4', ''] 

[x for x in a if x != ''] 
Out[19]: ['5', '1', '5', '10', '4'] 

Вы можете быть лучше обслуживаться с помощью фильтрации на Csv чтения шага вместо этого.

0

Вот список постижение интегрирован с csv библиотеки:

import csv 

with open('input.csv') as in_file: 
    reader = csv.reader(in_file) 
    result = [[item for item in row if item != ''] for row in reader] 

print result 
Смежные вопросы