首页 > 解决方案 > 将字典键发送到数据框的 Python 代码突然停止工作

问题描述

我正在使用 OMDBAPI 从 IMDb 抓取信息,但我的代码突然停止工作?当我抓取并处理超时问题时,它工作了好几天,并且抓取仍在工作。但是我的代码应该使用字典键将信息发送到数据框,而那一步似乎突然停止工作了?

不太确定该怎么做,因为代码以前有效

for Id in first_pass:
    movie = omdb.imdbid(Id, tomatoes=False, timeout=5)
    movie_set  = pd.DataFrame(movie, columns=movie.keys())
    df = pd.concat([df, movie_set], axis =0, sort=False)

movie_set 步骤似乎不起作用。我输入 ID 并得到一个字典,如下所示:

{ 'title': 'Kommen und gehen',  
 'year': '1994',  
 'rated': 'N/A',  
 'released': 'N/A',  
 'runtime': '50 min',  
 'genre': 'Documentary',  
 'director': 'Lew Hohmann'  
}

但是在movie_set 步骤中,如果我运行它,我返回的只是一个带有列名但没有信息的空白数据框。

该怎么办?

标签: pythonpandas

解决方案


这是将字典转换为数据框的语法。

movie_set = pd.DataFrame.from_dict(movie, orient='index')

你也会想要改变

df = pd.concat([df, movie_set], axis=1)

因为你想翻转列和行

movie_set = pd.DataFrame.from_dict(movie, orient='index').T
df = pd.concat([df, movie_set], axis=0)

推荐阅读