我有一些簡單的代碼來攝取一些JSON Twitter數據,並輸出一些特定的字段到CSV文件的單獨列。我的問題是,我不能爲我的生活找出將輸出編碼爲UTF-8的正確方法。下面是我能夠得到的最接近的,在這裏的成員的幫助下,但我仍然無法正常運行,並且因爲tweet文本字段中的唯一字符而失敗。編寫UTF-8時寫入CSV
import json
import sys
import csv
import codecs
def main():
writer = csv.writer(codecs.getwriter("utf-8")(sys.stdout), delimiter="\t")
for line in sys.stdin:
line = line.strip()
data = []
try:
data.append(json.loads(line))
except ValueError as detail:
continue
for tweet in data:
## deletes any rate limited data
if tweet.has_key('limit'):
pass
else:
writer.writerow([
tweet['id_str'],
tweet['user']['screen_name'],
tweet['text']
])
if __name__ == '__main__':
main()
Thanks @ user2100799 - 我一直在嘗試'.encode('utf-8')''的所有變體,並且我已經閱讀了文檔,但我似乎仍然無法使其正確地與CSV模塊。還有其他建議嗎? –
試試這裏:http://stackoverflow.com/questions/5838605/python-dictwriter-writing-utf-8-encoded-csv-files – 1478963