【问题标题】:Reading the second column from csv file to list从 csv 文件读取第二列到列表
【发布时间】:2017-09-07 16:44:09
【问题描述】:

我有一个包含两列的 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 

【问题讨论】:

标签: python csv


【解决方案1】:

试试这个:

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作为打开模式,分隔符为,

【讨论】:

    【解决方案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 如果你想要干净的代码

    【讨论】:

      【解决方案3】:

      以下代码对我有用。我认为这是您的分隔符的问题。如果您的文件是普通的 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]])
      

      【讨论】:

        猜你喜欢
        • 2019-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-12
        • 1970-01-01
        • 2015-05-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多