我可以将Python的CSV阅读器与Google Fusion Tables一起使用吗?

时间:2011-10-17 22:12:42

标签: python csv google-fusion-tables

我正在尝试使用 csv 库将Google Fusion Tables API中的数据读入Python。看起来查询API会返回CSV数据,但是当我尝试将其与 csv.reader 一起使用时,它似乎会破坏数据并将其拆分为每个字符,而不仅仅是逗号和换行符。我错过了一步吗?以下是我使用公共表格进行说明的示例:

#!/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 个答案:

答案 0 :(得分:2)

csv.reader()会接收类似文件的对象。

更改

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

reader = csv.reader(serv_resp)

或者,您可以这样做:

reader = csv.DictReader(serv_resp)

答案 1 :(得分:1)

造成问题的不是CSV模块。看看serv_resp.read()的输出。请尝试使用serv_resp.readlines()