【发布时间】:2018-09-16 06:38:51
【问题描述】:
我目前正在尝试获取某个帐户的推文并将它们以特定格式写入文件,但有时该帐户会在编解码器之外使用表情符号和其他字符,因此在阅读推文时,Python 会发疯并给我以下错误(它不喜欢的特定字符是希腊字母“χ”,如果这有任何帮助,尽管我需要一个可以处理 Python 不喜欢的任何字符的修复程序):
UnicodeEncodeError: 'charmap' codec can't encode character '\u03c7' in position 4: character maps to <undefined>
我尝试将.encode("utf-8") 添加到字符串的末尾,但最终将原始文本数据写入文件,而我实际上需要将单词写入不同的行。这是我到目前为止的代码(代码本身可以工作,因为它读取数据并将其放入我需要的格式,所以我不需要帮助,只需要写入文件部分。):
with open("LSData.txt", "a") as file:
for status in tl:
wordList = status.full_text.split(" ")
for word in wordList:
try:
if("http" not in word):
if(word == wordList[0] or
wordList[wordNum-1][len(wordList[wordNum-1])-1] == "." or
wordList[wordNum-1][len(wordList[wordNum-1])-1] == "!" or
wordList[wordNum-1][len(wordList[wordNum-1])-1] == "?"):
wordsToAdd = "-" + word + " " + wordList[wordNum+1] + "\n"
file.write(wordsToAdd)
else:
wordsToAdd = word + " " + wordList[wordNum+1] + "\n"
file.write(wordsToAdd)
except(IndexError):
pass
wordNum += 1
如果我需要提供更多信息,请告诉我。提前致谢!
【问题讨论】:
-
是windows机器吗?
标签: python python-3.x unicode encoding