Python CSV:读取以逗号终止的行将导致结果为空


问题内容

如果这是一个愚蠢的问题,请随意骚扰我,因为我自己找不到正确的答案。我正在尝试读取一个CSV格式的文件,该文件的每一行都包含数据,并且每一行都以逗号结尾。像这样:

-1,
-1,
1,
1,

当我尝试使用Python的CSV函数时,我使用以下代码:

with open(waveform, 'rb') as f:
    reader = csv.reader(f)
    for row in reader:
        print row

输出以下内容:

['-1', '']
['-1', '']
['1', '']
['1', '']

我希望它忽略每行上的空字符。您有什么建议吗?


问题答案:

忽略每行的最后一个元素:

with open(waveform, 'rb') as f:
    reader = csv.reader(f)
    for row in reader:
        print row[:-1]

或将每一行转换成字典:

columns = ['value']
with open(waveform, 'rb') as f:
    reader = csv.reader(f)
    for row in reader:
        rec = dict(zip(columns, row))
        print rec

版画

{'value': '-1'}
{'value': '-1'}
{'value': '1'}
{'value': '1'}