![](/img/trans.png)
[英]List index out of range when trying to read in a txt file in Python
[英]Trying to read in data from a CSV file, list index out of range?
我不知道為什么這不起作用,我以前用 CSV 文件做過這個並且它起作用了。 該文件沒有空行或空值,數據以逗號分隔。 這就是我所擁有的:
#Create empty lists for data.
Date = []
Open = []
High = []
Low = []
Close = []
Adj_Close = []
Volume = []
#Fill lists with data.
with open("AAPL_train.csv", "r") as infile:
for lines in infile:
lines = lines.split(",")
Date.append(lines[0])
Open.append(lines[1])
High.append(lines[2])
Low.append(lines[3])
Close.append(lines[4])
Adj_Close.append(lines[5])
Volume.append(lines[6])
我的錯誤代碼顯示它在Open.append(lines[1])
行中超出索引。
然后這里是一個數據樣本,向您展示它的樣子。
有任何想法嗎? 謝謝你。
編輯添加:我得到的錯誤是 IndexError: list index out of range on line 18,當我嘗試在每個循環之后執行打印行時,除了錯誤之外什么也沒有。
import csv
#Create empty lists for data.
Date = []
Open = []
High = []
Low = []
Close = []
Adj_Close = []
Volume = []
#Fill lists with data.
with open("AAPL_train.csv", "r") as infile:
csv_reader = csv.reader(infile, delimiter=','):
# skip header
next(csv_reader)
for row in infile:
Date.append(row[0])
Open.append(row[1])
High.append(row[2])
Low.append(row[3])
Close.append(row[4])
Adj_Close.append(row[5])
Volume.append(row[6])
我已更新您的代碼以使用內置的 python csv package。 在處理 CSV 時,它讓生活更輕松,它的生成器應該有助於防止任何 memory 問題!
我還添加了next(csv_reader)
調用以跳過 csv 數據中的 header。 我假設這是您可能實際上不想記錄的數據。
嘗試使用 pandas:
import pandas as pd
df = pd.read_csv(AAPL_train.csv)
Date = df['Date'].tolist()
Open = df['Open'].tolist()
High = df['High'].tolist()
Low = df['Low'].tolist()
Close = df['Close'].tolist()
Adj_Close = df['Adj_Close'].tolist()
Volume = df['Volume'].tolist()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.