使用Python下载JSON数据并将其转换为CSV

3

我目前使用的是Yahoo Pipes,它从URL提供给我一个JSON文件。

我想要能够获取并将其转换为CSV文件,但我不知道从哪里开始(我在Python方面完全是个初学者)。

我该如何从URL获取JSON数据?
我该如何将其转换为CSV格式?

谢谢


2
能否提供一个JSON和CSV片段的示例? - kevpie
1个回答

6
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))

SO应该有一些橡皮图章评论按钮。其中之一:“Python 2.x:始终以二进制模式打开csv文件。” - John Machin
@John Machin:如果我错了,请纠正我——我的理解是,CSV文件必须以二进制形式读取,但必须以文本形式写入? - Hugh Bothwell
@John Machin:好的,已经测试过了;是的,将其写成文本会导致额外的行间距。想一想,我还模糊地记得这一点。 - Hugh Bothwell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接