请帮忙。
我正在从意大利twitterers下载推文进行后续分析。 下载后,我将它们存储在python数据框中,然后将它们写入文件中。
在文件中写入时,意大利语中存在的“è”等特殊字符将转换为X8 / XE之类的字符或类似字符。
我尝试了几种编码,如utf8,Latin1或ISO-8859-1,但问题仍然存在。
数据框的每一行都是一个用户,其中包含不同的信息,如名称,屏幕,名称....和描述,这是我遇到问题的字段。
以下是我用来将用户添加到现有数据框的行:
int age() const
这就是我在文件中写信息的方式
b=pd.DataFrame(np.array([[user.id,
user.created_at,
user.lang.encode('utf-8'),
user.screen_name.encode('utf-8'),
user.name.encode('utf-8'),
user.location.encode('utf-8'),
user.description.encode('utf-8'),
user.followers_count,
user.profile_image_url_https.encode('utf-8')]]), columns=col).append(b, ignore_index=True)
从Twitter下载后,在数据框中我可以阅读:
“Lavitaèun'opportunità... coglila”
但是在文件中它被转换为:
b“La vita \ xc3 \ xa8 un'opportunit \ xc3 \ xa0 ... coglila”
如何将其重新转换回原始字符串???
答案 0 :(得分:0)
您是否尝试过不编码或解码为utf-8?这应该是开箱即用的。 如果你真的想要解码它们,那么在每个系列上使用.str.decode()方法:
b['series_name'] = b['series_name'].str.decode('utf-8')
然后将其保存到csv而不进行任何编码:
b.to_csv(filename)