我有一个包含两列的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
答案 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])
使用r
或rb
作为开放模式,分隔符为,
答案 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]])