2017-08-10 34 views
0

我是新来的python和我的论文工作我试图将JSON转换为csv.I能够以JSON格式下载数据,但是当我使用字典将其写回时,它不会将JSON转换为CSV格式。如何将Fantasy Premier League数据从JSON转换为CSV?

import pandas as pd 
    import statsmodels.formula.api as smf 
    import statsmodels.api as sm 
    import matplotlib.pyplot as plt 
    import numpy as np 
    import requests 
    from pprint import pprint 
    import csv 
    from time import sleep 

    s1='https://fantasy.premierleague.com/drf/element-summary/' 
    print s1 

    players = [] 
    for player_link in range(1,450,1): 
     link = s1+""+str(player_link) 
     print link 
     r = requests.get(link) 
     print r 
     player =r.json() 
     players.append(player) 
     sleep(1) 



with open('C:\Users\dell\Downloads\players_new2.csv', 'w') as f: # Just use 'w' mode in 3.x 
    w = csv.DictWriter(f,player.keys()) 
    w.writeheader() 
    for player in players:   
     w.writerow(player) 

我已经上传的预期输出(dec_15_expected.csv)和计划出与文件名“player_new_wrong_output.csv”

https://drive.google.com/drive/folders/0BwKYmRU_0K6tZUljd3Q0aG1LT0U?usp=sharing

这将是一个很大的帮助,如果一些能告诉什么我做错了。

回答

1

使用熊猫将JSON转换为CSV很简单。试试这个:

import pandas as pd 

df=pd.read_json("input.json") 
df.to_csv('output.csv')