Javascript 无法从网站的.json文件导出特定数据

Javascript 无法从网站的.json文件导出特定数据,javascript,python,json,pandas,Javascript,Python,Json,Pandas,我使用以下方法解析网站中的数据: import requests import pandas as pd resp = requests.get("https://thisiscriminal.com/wp-json/criminal/v1/episodes?posts=1000000&page=1").json() df = pd.DataFrame(resp['posts'], columns=['episodeNumber','slug','image','excerpt','a

我使用以下方法解析网站中的数据:

import requests
import pandas as pd

resp = requests.get("https://thisiscriminal.com/wp-json/criminal/v1/episodes?posts=1000000&page=1").json()
df = pd.DataFrame(resp['posts'], columns=['episodeNumber','slug','image','excerpt','audioSource'])    
df.to_csv("output9.csv", encoding='utf-8', index='false')

data = pd.read_csv("output9.csv")
正如你所看到的,我不得不拉整个“摘录”专栏,它拉了全部三个而不是一个。我该怎么做呢?比如说“短”字?标题是什么而不是“列”?而且,“标题”似乎不在任何标题下——我怎么也能把它拉出来呢

如果有帮助,可以在此处快速查看.json:


任何帮助都将不胜感激。

我能想到的解决办法是规范化resp['posts']json,不要提及列。下面是生成上述数据帧的代码:

    import requests
    import pandas as pd
    from pandas.io.json import json_normalize

    resp = requests.get("https://thisiscriminal.com/wp-json/criminal/v1/episodes?posts=1000000&page=1").json()
    # print(resp['posts'][0])
    df = pd.DataFrame(json_normalize(resp['posts']))
    df.to_csv("output2_9.csv", encoding='utf-8', index='false')
现在,一旦您有了这个数据帧,您就可以过滤您想要的任何列,它的所有json字段和列名如下: audioSource内容日期插曲编号节选。完整节选。长节选。短id图像。完整图像。大图像。中等图像。拇指音乐信用证下一个。slug下一个。title permalink prev prev.slug prev.title slug title slug title

标题标题也出现在这个数据框架中

我已经获取了摘录系列,称为apply函数,并获取了从apply创建的“short”系列。您可能需要处理额外的双引号,请考虑下面的代码:

import requests
import pandas as pd

resp = requests.get("https://thisiscriminal.com/wp-json/criminal/v1/episodes?posts=1000000&page=1").json()
df = pd.DataFrame(resp['posts'], columns=['episodeNumber','slug','image','excerpt','audioSource'])    
df['excerpt'] = df['excerpt'].apply(pd.Series)['short']#.replace({'"': '\'','""': '\'','"""': '\'' }, regex=True)
df.to_csv("output9.csv", encoding='utf-8', index='false')
data = pd.read_csv("output9.csv")

太棒了,非常感谢你!您知道如何插入“标题”部分吗?它的列格式与插曲描述或图像的列格式不同?当我使用.json查看器时,不会以相同的方式显示。我不明白,如果您想要标题,可以在诸如so df=pd.DataFrameresp['posts',columns=['title','eposodenumber','slug','image','extract','audioSource'等列中添加标题或者,如果你说的是prev,那么你可以使用我在摘录答案中使用的相同代码