正在用\u246\u246文件清理\u246中的python数据

2024-04-19 02:29:14 发布

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

我试图用regex清理python中的twitter数据,但无法删除\u2764\ufe0f\u2026。twitter数据在数据.txt文件,这是数据:
“Berkat biznet aku bisa online terimakasih BiznetHome\u2764\ufe0f Ganguan hari sabtu perbaikan nanti senin hari脱机慢速响应\u2764\ufe0f Terima kasih TelkomCare masalah indihome sy sudah Teriseakan Terima kasih fast responnya terus selalu tingka\u2026 TelkomCare sudah beres修复互联网dan telpon berfungsi正常感谢atas respons dan perbaikan pihak Indihom\u2026”

我试过三种方法:
首先

import re

with open ('datas.txt', 'r') as f:
     mylist = [line for line in f]
emoji_pattern = re.compile(r'\\\\u\w+')
for i in mylist:
    print(emoji_pattern.sub(r'', i))


^{pr2}$


第三

f= open("datas.txt", "r", encoding="UTF-8")
datas = f.read()
data = datas.encode('ascii', 'ignore').decode("utf-8")
print(data)

但还是没用


Tags: 数据retxttwitterdandatashariu2026
1条回答
网友
1楼 · 发布于 2024-04-19 02:29:14

文本文件包含根据how Python encodes Unicode literals in source code编码的非ASCII Unicode码位。你可以用它做两件事:

  • 从数据中删除所有\uXXXX\UXXXXXXXX序列。这将删除所有以Python文本格式编写的Unicode代码点,这些代码点原则上(虽然不一定)是非ASCII字符。可以这样做,例如:
import re

with open ('datas.txt', 'r') as f:
     mylist = [line for line in f]
unicode_literal = re.compile(r'\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}')
for i in mylist:
    print(unicode_literal.sub(r'', i))
  • 将Unicode代码点解释为它们的预期值。也就是说,您将得到一个字符串,其中包含与文本文件中表示的代码点相对应的非ASCII数据。你可以这样做:
^{pr2}$

相关问题 更多 >