[英]csv.DictReader function only reading first line of csv file
似乎有效,問題是,它只返回 csv 文件的第一行,我做錯了什么?
我正在嘗試將 csv 文件導入到我的 python 代碼中,但它只返回 csv 文件的第一行
import csv
with open('aapl_price-history-01-09-2019.csv') as csvfile:
fieldnames = ['Time', 'Open', 'High', 'Low', 'Last', 'Change', 'Volume']
stockPxReader = csv.DictReader(csvfile)
stockPxData = {}
for row in stockPxReader:
stockPxData = row
print(stockPxData)
在這里,請將 stockPxData = {} 更改為 stockPxData = [],然后將行附加到 stockPxData 列表。
import csv
with open('aapl_price-history-01-09-2019.csv') as csvfile:
fieldnames = ['Time', 'Open', 'High', 'Low', 'Last', 'Change',
'Volume']
stockPxReader = csv.DictReader(csvfile)
stockPxData = []
for row in stockPxReader:
stockPxData.append(row)
print(stockPxData)
您正在嘗試向字典中添加一個項目。 字典有 'key':'value' 對。 您正在做的只是將“值”添加到字典中。
import csv
with open('aapl_price-history-01-09-2019.csv') as csvfile:
fieldnames = ['Time', 'Open', 'High', 'Low', 'Last', 'Change', 'Volume']
stockPxReader = csv.DictReader(csvfile)
stockPxData = {}
idx = 0 # this is to initialize the index counter
for row in stockPxReader:
stockPxData[str(idx)] = row # syntax to assign key value to dict
idx = idx + 1 # update index value in the for loop
print(stockPxData) # print in the open file handler statement
您只是執行一項任務: stockPxData = row
。 這導致只有一個 dict 被存儲在這個變量中。
為了存儲所有行,請嘗試將它們附加到列表中,例如
stockPxData = []
for row in stockPxReader:
stockPxData.append(row)
或者為每個 dict 元素定義一個鍵以存儲在 dict 中(這里我使用數組中的索引作為鍵):
for idx, row in enumerate(stockPxReader):
stockPxData[str(idx)] = row
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.