【问题标题】:Remove non utf-8 characters from string in python从python中的字符串中删除非utf-8字符
【发布时间】:2018-01-05 20:21:11
【问题描述】:

我正在尝试读取推文并将这些推文写入文件。但是,当我尝试将其中一些推文写入文件时,我得到了 UnicodeEncodeErrors。有没有办法删除这些非 utf-8 字符,以便我可以写出推文的其余部分?

例如,一条有问题的推文可能看起来像这样:

相机? ????

这是我正在使用的代码:

with open("Tweets.txt",'w') as f:
    for user_tws in twitter.get_user_timeline(screen_name='camera',
                                          count = 200):
        try:
            f.write(user_tws["text"] + '\n')
        except UnicodeEncodeError:
            print("skipped: " + user_tws["text"])
            mod_tw = user_tws["text"]
            mod_tw=mod_tw.encode('utf-8','replace').decode('utf-8')
            print(mod_tw)
            f.write(mod_tw)

错误是这样的:

UnicodeEncodeError: 'charmap' 编解码器无法对位置 56 中的字符 '\U0001f3a5' 进行编码:字符映射到

【问题讨论】:

    标签: python-3.x twitter utf-8 twython


    【解决方案1】:

    你写的不是UTF8编码的文件,把encoding参数加到open函数里

    with open("Tweets.txt",'w', encoding='utf8') as f:
        ...
    

    玩得开心?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-23
      • 2014-12-19
      • 2019-01-13
      • 2012-08-22
      • 2013-12-22
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      相关资源
      最近更新 更多