我正在嘗試使用python 2.7.12從json文件讀取twitter數據。我用UnicodeDecodeError:'utf8'編解碼器無法解碼位置3131中的字節0x80:無效起始字節
代碼是這樣的:
import json
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
def get_tweets_from_file(file_name):
tweets = []
with open(file_name, 'rw') as twitter_file:
for line in twitter_file:
if line != '\r\n':
line = line.encode('ascii', 'ignore')
tweet = json.loads(line)
if u'info' not in tweet.keys():
tweets.append(tweet)
return tweets
結果我:
Traceback (most recent call last):
File "twitter_project.py", line 100, in <module>
main()
File "twitter_project.py", line 95, in main
tweets = get_tweets_from_dir(src_dir, dest_dir)
File "twitter_project.py", line 59, in get_tweets_from_dir
new_tweets = get_tweets_from_file(file_name)
File "twitter_project.py", line 71, in get_tweets_from_file
line = line.encode('ascii', 'ignore')
UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 3131: invalid start byte
我通過從類似問題的所有答案,去與這個代碼走過來,它的工作最後一次。我不知道爲什麼它現在不工作...我會很感激任何幫助!
謝謝!!!我只是嘗試,但它不工作 - 我試圖取代'windows-1252',因爲我正在使用mac。我嘗試了'拉丁-1'等。或者沒關係......?感謝您的詳細解釋... – wannabhappy
你現在有什麼錯誤? –
代碼運行但我得到數據庫中所有變量的「NULL」。 當我打開每個json文件並檢查時,文件中有tweet。另外,當我要求打印多條推文時,它說我有0條推文...... – wannabhappy