我需要从Excel中读取一个CSV文件,其行可以是任意长度。
问题是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']
答案 0 :(得分:1)
这就像我写的那样功能,可以做你想做的事。肯定有一些方法。
def remove_blanks(a_list):
new_list = []
for item in a_list:
if item != "":
new_list.append(item)
return new_list
答案 1 :(得分:1)
列表理解版本:
a = ['5', '1', '5', '10', '4', '']
[x for x in a if x != '']
Out[19]: ['5', '1', '5', '10', '4']
您可以通过csv读取步骤进行过滤来获得更好的服务。
答案 2 :(得分:1)
这是与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