描述很长,所以请耐心等待:
我的日志文件大小从300 mb到1.5 Gb,需要使用搜索键进行过滤.
日志的格式如下:
24 May 2017 17:00:06,827 [INFO] 123456 (Blah : Blah1) Service-name:: Single line content
24 May 2017 17:00:06,828 [INFO] 567890 (Blah : Blah1) Service-name:: Content( May span multiple lines)
24 May 2017 17:00:06,829 [INFO] 123456 (Blah : Blah2) Service-name: Multiple line content. Printing Object[ ID1=fac-adasd ID2=123231
ID3=123108 Status=Unknown
Code=530007 Dest=CA
]
24 May 2017 17:00:06,830 [INFO] 123456 (Blah : Blah1) Service-name:: Single line content
4 May 2017 17:00:06,831 [INFO] 567890 (Blah : Blah2) Service-name:: Content( May …Run Code Online (Sandbox Code Playgroud) 我已经使用 tweepy 将推文的文本存储在使用 Python 的 csv 文件中csv.writer(),但我必须在存储之前以 utf-8 对文本进行编码,否则 tweepy 会抛出一个奇怪的错误。
现在,文本数据存储如下:
"b'Lorem Ipsum\xc2\xa0Assignment '"
Run Code Online (Sandbox Code Playgroud)
我尝试使用此代码对其进行解码(其他列中有更多数据,文本在第 3 列中):
with open('data.csv','rt',encoding='utf-8') as f:
reader = csv.reader(f,delimiter=',')
for row in reader:
print(row[3])
Run Code Online (Sandbox Code Playgroud)
但是,它不会解码文本。我不能使用,.decode('utf-8')因为 csv 阅读器将数据作为字符串读取,即type(row[3])是'str',我似乎无法将其转换为bytes,数据再次被编码!
如何解码文本数据?
编辑:这是来自 csv 文件的示例行:
"b'Lorem Ipsum\xc2\xa0Assignment '"
Run Code Online (Sandbox Code Playgroud)
注意:如果解决方案是在编码过程中,请注意我无法再次下载整个数据。