簡體   English   中英

如何從 CSV 文件中的一行中讀取特定值?

[英]How to read a specific value form a row in CSV file?

我試圖編寫一個 function 來讀取一個看起來像這樣的 CSV 文件。

花。csv

petunia,5.95
alyssum,3.95
begonia,5.95
sunflower,5.95
coelius,4.95

我已經為我的 function 嘗試了這個代碼。

def read_csv(csv_pricefile):
    import csv 
    f = open(csv_pricefile)
    li = []
    for row in csv.reader(f):
        li.append(row)
    f.close()
    print(li)

read_csv("flower.csv")

當我打電話給我的 function 時,它會給出以下 output。

[['petunia', '5.95'], ['alyssum', '3.95'], ['begonia', '5.95'], ['sunflower', '5.95'], ['coelius', '4.95']]

但我不知道如何編寫一個 function ,例如,它將采用兩個參數,

read_csv("flowers.csv","alyssum")

如果我調用 function,它應該給我以下 output。

3.95

使用 pandas 庫讀取 csv,這將生成 dataframe ZA8CFDE6331BD59EB266AC96F8911ZC4

import pandas as pd
df = pd.read_csv('flowers.csv')
df.columns =['flower','price']

那么如果你想知道任何一朵花的價格

df = df.set_index(['flower'])
f = 'alyssum'
print("{} costs {}".format(f,df.loc[f].price))

這是我剛剛嘗試過的解決方案

def read_csv(csv_pricefile,flower):
    import csv 
    f = open(csv_pricefile)
    my_dic = {}
    for row in csv.reader(f):
        myData = {row[0]:row[1]}
        my_dic.update(myData)
    f.close()
    print(my_dic[flower])

read_csv("flower.csv","alyssum")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM