从csv文件中读取第二列到列表

时间:2017-09-07 16:44:09

标签: python csv

我有一个包含两列的csv文件。我试图从该csv文件中读取第二列到python中的列表。我在stackoverflow中提到了一些方法。我试过了,但是我收到了一个错误。

noise_amp=[]         #an empty list to store the second column
with open('null_ch1_waveform_10mV.csv', 'rb') as rf:
    reader = csv.reader(rf, delimiter=';')
    for row in reader:
       noise_amp.extend([row[1]])

我收到此错误:

Traceback (most recent call last):
  File "J:/Ramu_Scripts/noise_script/source_code.py", line 58, in <module>
    noise_amp.extend([row[1]])
IndexError: list index out of range

我的csv文件就像

 1,2
 2,3
 3,4
 4,5 

3 个答案:

答案 0 :(得分:4)

试试这个:

import csv
noise_amp=[]         #an empty list to store the second column
with open('demo.csv', 'r') as rf:
    reader = csv.reader(rf, delimiter=',')
    for row in reader:
      noise_amp.append(row[1])

使用rrb作为开放模式,分隔符为,

答案 1 :(得分:2)

我能想到的最简单的解决方案,不使用内置csv模块*如下:

with open(csv_file, 'r') as f:
    for row in f:
        second_data = row.split(',')[1]

你可以随心所欲地做任何事情

*如果你想要干净的代码,不使用csv模块并不是pythonic,Take a look at it

答案 2 :(得分:1)

以下代码适用于我。我认为你的分隔符存在问题。如果你的是普通的csv文件,那么你不需要使用delimiter参数。

import csv
noise_amp=[]         
with open('glass.csv', 'r') as rf:
 reader = csv.reader(rf)
 for i in reader:
    noise_amp.extend([i[1]])