2011-03-14 73 views
3

我目前使用的雅虎管道为我提供了一个来自URL的JSON文件。下载JSON数据并使用Python将其转换为CSV

我希望能够获取它并将其转换为CSV文件,我不知道从哪里开始(我是一个Python初学者)。

如何从URL中获取JSON数据?
如何将它转换为CSV?

谢谢

+1

你能提供一个例子JSON和CSV片段。 – kevpie 2011-03-14 00:42:52

回答

4
import urllib2 
import json 
import csv 

def getRows(data): 
    # ?? this totally depends on what's in your data 
    return [] 

url = "http://www.yahoo.com/something" 
data = urllib2.urlopen(url).read() 
data = json.loads(data) 

fname = "mydata.csv" 
with open(fname,'wb') as outf: 
    outcsv = csv.writer(outf) 
    outcsv.writerows(getRows(data)) 
+0

SO应该有一些橡皮图章评论按钮。其中之一:“”“Python 2.x:始终以二进制模式打开csv文件。” – 2011-03-14 03:05:07

+0

@John Machin:请纠正我,如果错了 - 我的理解是,csv文件必须被读为二进制文件,但写入文本? – 2011-03-14 03:30:32

+0

@John Machin:好的,测试一下;是的,以文字形式写入额外的换行符。来想一想,我隐约记得这一点。 – 2011-03-14 03:40:34