2011-03-14 100 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