Python 3.x 当项目可以';无法在文本文件中找到
我有一个列表,btc.txt,上面列出了从2013年某个时候到今天的所有日期,以及当天btc的平均价格。以下是文本文件的内容:Python 3.x 当项目可以';无法在文本文件中找到,python-3.x,pandas,error-handling,text-files,Python 3.x,Pandas,Error Handling,Text Files,我有一个列表,btc.txt,上面列出了从2013年某个时候到今天的所有日期,以及当天btc的平均价格。以下是文本文件的内容: Date,Price ... "Jun 06, 2018",7639.970 "Jun 05, 2018",7567.330 "Jun 04, 2018",7618.500 "Jun 03, 2018",7676.170 "Jun 02, 2018",7590.080 "Jun 01, 2018",7521.070 ... 我有一个日期列表,在我的代码中,我在btc.
Date,Price
...
"Jun 06, 2018",7639.970
"Jun 05, 2018",7567.330
"Jun 04, 2018",7618.500
"Jun 03, 2018",7676.170
"Jun 02, 2018",7590.080
"Jun 01, 2018",7521.070
...
我有一个日期列表,在我的代码中,我在btc.txt中查找相应的日期,并找到该日期的btc平均价格:
df = pd.read_csv("btc.txt")
dates = [..., "May 23, 2017", "Jun 04, 2018", "Oct 4, 2018", ...]
initial_p = []
for item in dates:
if(item != "N/A"):
if(df[df["Date"] == item]["Price"].values[0]):
price = df[df["Date"] == item]["Price"].values[0]
print(price)
initial_p.append(price)
else:
num = int(item[len(item)-1])
num -= 1
item[len(item)-1] = num
price = (df[df["Date"] == item]["Price"].values[0])
initial_p.append(price)
else:
initial_p.append(item)
如你所见,我的列表中有些日期并不存在,比如2018年10月4日。因为它在btc.txt中不存在,所以当它到达不存在的日期时,我会出现以下错误:
Traceback (most recent call last):
File "getICOdate.py", line 173, in <module>
initial_price("btc.txt")
File "getICOdate.py", line 159, in initial_price
if(df[df["Date"] == item]["Price"].values[0]):
IndexError: index 0 is out of bounds for axis 0 with size 0
回溯(最近一次呼叫最后一次):
文件“getICOdate.py”,第173行,在
初始价格(“btc.txt”)
文件“getICOdate.py”,第159行,初始价格
如果(df[df[“日期”]==项目][“价格”]。值[0]):
索引器错误:索引0超出大小为0的轴0的界限
我试图通过在代码的第6行添加一个if语句来捕获错误,正如您在上面看到的,但它没有起作用。基本上,我想在我的代码中做的是,如果在btc.txt中找不到该日期,则该日期将被修改为一年前并再次搜索(因此“2018年10月4日”将更改为“2017年10月4日”)在您的程序中“df”是什么?假设
df
是pandas.DataFrame
,如果df.Date.values中的项目:@GerardH.Pille df=pd.read\u csv(“btc.txt”)您尝试了@Jeronimo的建议吗?@Jeronimo成功了,谢谢!