簡體   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