【发布时间】:2019-03-27 12:55:34
【问题描述】:
我正在编写一个 twitter 事件检测器,在检测结束时,我想将结果保存在 .txt 文件中。由于推文是用西班牙语编写的,因此结果中的某些单词可能包含重音符号,我在尝试按应有的方式保存它们时遇到了一些问题。
def save_event(self, event, event_counter, output_file):
saving_data = {}
saving_data['_id'] = event_counter
saving_data['main_words'] = event[2].split(', ')
saving_data['related_words'] = [None] * len(event[3])
related_words_loop = 0
for related_word, weight in event[3]: # En la posicion 3 del array event se guarda la lista de palabras relacionadas
word_json = {}
word_json['word'] = related_word
formatted_weight = float("{0:.2f}".format(weight)) # Formateamos el peso a un decimal de dos digitos
word_json['weight'] = formatted_weight
saving_data['related_words'][related_words_loop] = word_json
related_words_loop += 1
saving_json = json.dumps(saving_data)
with open(output_file, 'a', encoding='utf-8') as f:
f.write(saving_json)
f.write('\n')
def save_events(self, output_file):
try:
os.remove(output_file)
except OSError:
pass
event_counter = 0
for event in self.events:
event_counter += 1
self.save_event(event, event_counter, output_file)
我正在为with open(output_file, 'a', encoding='utf-8') as f: 上的文件指定我想要的编码并阅读其他一些应该有效的相关问题,但是当我检查创建的文件时,有一些单词像\u00e9ranse 一样保存,而它们应该看起来像éranse.
知道我是否遗漏了什么吗?
【问题讨论】:
标签: python file unicode encoding