【发布时间】:2014-03-05 06:54:19
【问题描述】:
尝试使用 JSON 写入 CSV 时出现以下错误:
Traceback (most recent call last):
File "twitter_search_csv.py", line 25, in <module>
status['retweet_count'],
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2026' in position 139: ordinal not in range(128)
这是我正在使用的代码:
import requests
import urllib2
from requests_oauthlib import OAuth1
import csv
auth = OAuth1('', '', '', '')
url = 'https://api.twitter.com/1.1/search/tweets.json?q=%23OpeningCeremony'
response = requests.get(url, auth=auth)
data = response.json()['statuses']
with open('olympic_search.csv', 'wb') as csvfile:
f = csv.writer(csvfile)
for status in data:
f.writerow([
status['id'],
status['text'],
status['created_at'],
status['coordinates'],
status['user']['id_str'],
status['retweet_count'],
])
【问题讨论】:
-
文档 (docs.python.org/2/library/csv.html) 有一个处理这种情况的重要说明。