私はこの件に関して以前の質問を読んだが、私はパンダのデータフレームで次のようなバイトコード(?)を持っています:\u0393\u03b9\u03ce\u03c1\u03b3\u03bf\u03c2 u039d\u03c4\u03b1\u03bb\u03ac\u03c1\u03b1\u03c2
と私はそれらを人間が読める出力に変換しようとしました。テキストの言語はギリシャ語で、データはJSONファイルから読み込まれました(json.load/loadsはあまり役に立ちませんでしたが、pd.read_jsonもどちらも役に立ちませんでした)。バイトのデコードとSyntaxError:行継続文字の後の予期しない文字
このようなオブジェクトを印刷しようとすると、バイトを出力します。
プリントを例コード:
lst = ['\\u0393\\u03b9\\u03ce\\u03c1\\u03b3\\u03bf\\u03c2 \\u039d\\u03c4\\u03b1\\u03bb\\u03ac\\u03c1\\u03b1\\u03c2',
'\\u0393\\u03b9\\u03ce\\u03c1\\u03b3\\u03bf\\u03c2 \\u039d\\u03c4\\u03b1\\u03bb\\u03ac\\u03c1\\u03b1\\u03c2',
'\\u0393\\u03b9\\u03ce\\u03c1\\u03b3\\u03bf\\u03c2 \\u039d\\u03c4\\u03b1\\u03bb\\u03ac\\u03c1\\u03b1\\u03c2']
df= pd.DataFrame(lst, columns=["some_bytestrings"])
print(df["some_bytestrings"])
# prints: \u0393\u03b9\u03ce\u03c1\u03b3\u03bf\u03c2 \u0...
print(df['some_bytestrings'].values[0])
# prints: \u0393\u03b9\u03ce\u03c1\u03b3\u03bf\u03c2 \u039d\u03c4\u03b1\u03bb\u03ac\u03c1\u03b1\u03c2
# eval seems to work for some previous data, don't know why
print(eval(dfsmall['some_bytestrings'].values[0]))
# ERROR ARISES HERE
print('\\u0393\\u03b9\\u03ce\\u03c1\\u03b3\\u03bf\\u03c2 \\u039d\\u03c4\\u03b1\\u03bb\\u03ac\\u03c1\\u03b1\\u03c2')
# prints \u0393\u03b9\u03ce\u03c1\u03b3\u03bf\u03c2 \u039d\u03c4\u03b1\u03bb\u03ac\u03c1\u03b1\u03c2
print(print(dfsmall['some_bytestrings'].values[0].encode().decode()))
# decoding encoding doesn't work, it prints: \u0393\u03b9\u03ce\u03c1\u03b3\u03bf\u03c2 \u039d\u03c4\u03b1\u03bb\u03ac\u03c1\u03b1\u03c2
注私は再び印刷出力や印刷を取るならば、それは罰金判明こと:
print("\u0393\u03b9\u03ce\u03c1\u03b3\u03bf\u03c2 \u039d\u03c4\u03b1\u03bb\u03ac\u03c1\u03b1\u03c2")
# prints: 'Γιώργος Νταλάρας'
関係しているように思えるのようどのようにPythonが二重スラッシュ(\\
)を処理するのですか?しかし、私はこの解決策を回避することはできません。string.replace("\\\\", "\\")
のようなメソッドは役に立ちません。