2011-10-17 6 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) 

変更

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

、あなたが行うことができます:

reader = csv.DictReader(serv_resp) 
+0

完璧をありがとう、私は何かを使用することになっていた方法を誤解して知っていました –

1

にです:ここで私は公共のテーブルを使用して、説明するために作られたサンプルです問題の原因となっているCSVモジュールではありません。 serv_resp.read()の出力を見てください。代わりにserv_resp.readlines()を使用してみてください。

関連する問題