升华文本3不显示utf8字符,而是显示其代码

2024-07-04 07:39:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一些德语文本数据。我试图用python将一些元数据保存到JSON文件中

下面是元数据的样子(正如您所注意到的,有ä,ö个字符):

{'pages': ['kitchwitch.ch_posts.csv',
  'Sujetbaizinbasel_posts.csv',
  'Guggenmusik-Moore-Schränzer-149777592206118_posts.csv',
  'zueundrichproductions_posts.csv',
  'glueckshof_posts.csv',
  'Lieberockt_posts.csv',
  'Pfadi-Schöftle-699078857125683_posts.csv'...
with open('./gsw_fb_r1_metadata.json','w',encoding='utf8' )as f:
    json.dump(metadata,f)

但当我用Supreme Text3打开它时,我得到以下信息:

{"pages": ["kitchwitch.ch_posts.csv", "Sujetbaizinbasel_posts.csv", 
"Guggenmusik-Moore-Schra\u0308nzer-149777592206118_posts.csv", 
"zueundrichproductions_posts.csv", "glueckshof_posts.csv", 
"Lieberockt_posts.csv", "Pfadi-Sch\u00f6ftle-699078857125683_posts.csv", 

因此,ö和ä没有正确显示。如何使它们像Python中那样正常显示?这个问题是与崇高的文本有关还是与我有关?谢谢


Tags: csv数据文本pageschpostsschmoore
1条回答
网友
1楼 · 发布于 2024-07-04 07:39:53

这是有效的JSON。默认情况下,只使用ASCII和Unicode转义码写入数据。当您使用json.load()将JSON加载回Python时,字符串将再次包含原始字符

如果希望JSON文本文件可读,而不是使用转义码,可以使用ensure_ascii=False

with open('./gsw_fb_r1_metadata.json','w',encoding='utf8' )as f:
    json.dump(metadata,f,ensure_ascii=False)

这将把数据作为UTF-8写入文件,并在支持UTF-8的文本编辑器中可读

相关问题 更多 >

    热门问题