Python 3.x 当项目可以';无法在文本文件中找到

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.

我有一个列表,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.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成功了,谢谢!