2011-10-17 42 views
2

我試圖使用csv庫將數據從Google Fusion Tables API讀取到Python中。這似乎是查詢API返回CSV數據,但當我嘗試與csv.reader一起使用它時,它似乎破壞了數據並將其分割爲每個字符而不是逗號和換行符。我錯過了一步嗎?下面是我做了說明,使用公共表樣本:我可以在Google Fusion Tables中使用Python的CSV閱讀器嗎?

#!/usr/bin/python 

import csv 
import urllib2, urllib 

request_url = 'https://www.google.com/fusiontables/api/query' 
query = 'SELECT * FROM 1140242 LIMIT 10' 

url = "%s?%s" % (request_url, urllib.urlencode({'sql': query})) 
serv_req = urllib2.Request(url=url) 
serv_resp = urllib2.urlopen(serv_req) 

reader = csv.reader(serv_resp.read()) 

for row in reader: 
    print row #prints out each character of each cell and the column headings 

最終我會使用csv.DictReader類,但基礎讀者顯示問題以及

回答

2

csv.reader()需要一個類似文件的對象。

變化

reader = csv.reader(serv_resp.read()) 

reader = csv.reader(serv_resp) 

或者,你可以這樣做:

reader = csv.DictReader(serv_resp) 
+0

完善謝謝,我知道我誤解的東西是應該如何使用 –

1

這是而不是導致問題的CSV模塊。看看serv_resp.read()的輸出。改爲使用serv_resp.readlines()

相關問題