質問

Google Fusion Tables APIからPythonを使用してデータを読み取ろうとしています CSV 図書館。 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 クラス、しかしベース 読者 問題も示しています

役に立ちましたか?

解決

csv.reader() ファイルのようなオブジェクトを取り入れます。

変化する

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

reader = csv.reader(serv_resp)

または、あなたはすることができます:

reader = csv.DictReader(serv_resp)

他のヒント

問題を引き起こしているのはCSVモジュールではありません。出力をご覧ください serv_resp.read(). 。使用してみてください serv_resp.readlines() 代わりは。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top