繁体   English   中英

如何在不使用 pandas 的情况下读取 CSV 文件指定列?

[英]How to read CSV file specified column without using pandas?

def loadData(fileName):
    x = []
    y = []
    fl = csv.reader(open(fileName,'r'))
    x = list(fl)
    y.append([row[13] for row in fl])
    return x, y 

我用这个,但是 y 是空的,我的 csv 数据在这里输入图像描述

我想要 x 是所有行,而 y output [19.2, 20.8]

您需要遍历 csv 文件中的行,就像对 y 所做的那样: x.append()

完整的代码应如下所示:

def loadData(fileName):
    x = []
    y = []
    fl = csv.reader(open(fileName,'r'))
    for row in fl:
        y.append([row[-1:])
        x.append([row[:-1])
    return x, y 

这为您提供了 x 的列表列表。 我不确定你期望 output 看起来像什么,但是如果你只想要一个平面列表,你可以使用一个扁平的 lambda function(来源见这里):

flatten = lambda l: [item for sublist in l for item in sublist]
x = flatten(x)

请注意,它建议with -Syntax 一起用于文件阅读器
来自文档的 CSV 阅读器的示例:

with open('eggs.csv', newline='') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
...     for row in spamreader:
...         print(', '.join(row))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM