2

csvライブラリを使用して、Google Fusion Tables API から Python にデータを読み込もうとしています。API を照会すると CSV データが返されるようですが、csv.readerで使用しようとすると、データが壊れて、カンマや改行だけでなくすべての文字に分割されているようです。手順がありませんか?public テーブルを使用して説明するために作成したサンプルを次に示します。

#!/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クラスを使用しますが、ベースリーダーにも問題が表示されます

4

2 に答える 2

2

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

変化する

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

reader = csv.reader(serv_resp)

または、次のようにすることもできます。

reader = csv.DictReader(serv_resp)
于 2011-10-17T22:22:09.317 に答える
1

問題の原因は CSV モジュールではありません。からの出力を見てくださいserv_resp.read()serv_resp.readlines()代わりに使用してみてください。

于 2011-10-17T22:17:03.233 に答える