我正在尝试将pandas数据框转换为字符串,但是我无法正确地证明其正确性并保存utf-8值
我正在使用具有不同参数的pandas.DataFrame.to_string
函数(以下代码),但无法实现所需的外观:左对齐表并正常显示utf-8值。
data = [['Fire', 'das Feuer', b'\xF0\x9F\x94\xA5'],
['Air', 'der Wind', b'\xF0\x9F\x8D\x83'],
['Water', 'Wasser', b'\xF0\x9F\x8C\x8A']]
df = pd.DataFrame(data, columns=['English', 'German', 'Pic'])
string = df.to_string(columns=['German', 'Pic'], index=False, header=False, justify='left')
外观:
das Feuer b'\xF0\x9F\x94\xA5'
der Wind b'\xF0\x9F\x8D\x83'
Wasser b'\xF0\x9F\x8C\x8A'
我希望它的外观:
das Feuer ?
der Wind ?
Wasser ?
我没主意了。任何帮助将不胜感激
答案 0 :(得分:3)
decode
df = df.assign(Pic=df.Pic.str.decode('utf-8'))
s = '\n'.join(map(' '.join, zip(df.German, df.Pic)))
print(s)
das Feuer ?
der Wind ?
Wasser ?
答案 1 :(得分:1)
您可以在定义str
之前将数据帧转换为utf-8。
df.Pic = df.Pic.str.decode('utf-8')
答案 2 :(得分:0)
循环遍历索引,并打印“ German”列和“ Pic”列。并解码“ utf-8”中的“图片”列
import pandas as pd
data = [['Fire', 'das Feuer', b'\xF0\x9F\x94\xA5'],
['Air', 'der Wind', b'\xF0\x9F\x8D\x83'],
['Water', 'Wasser', b'\xF0\x9F\x8C\x8A']]
df = pd.DataFrame(data, columns=['English', 'German', 'Pic'])
for i in df.index:
print(df['German'][i],df['Pic'][i].decode("utf-8"))
das Feuer ?
der Wind ?
Wasser ?