Файл входных данных, который загружает pandas, должен быть в ASCII. Если бы это было в UTF-8, кодировщик UTF-8 правильно загрузил бы байты UTF-8. Если файл не в формате UTF-8, pandas все равно будет загружаться, а экранированный \ xa0 будет загружен буквально и не будет переведен в нужный неразрывный пробел Unicode.
Причина, по которой это работает при копировании / вставке, связана с тем, что python видит экранирование в строковом литерале.
import pandas as pd
data = {u"label": 0, u"date": u"20120528192215Z", u"comment": u"\"i really don't understand your point.\xa0 It seems that you are mixing apples and oranges.\""}
df = pd.DataFrame(index=[1], data=data)
df.to_csv("/tmp/corpusutf8.csv", index=False, encoding="utf-8")
pd.read_csv("/tmp/corpusutf8.csv")
comment date label
0 "i really don't understand your point. It see... 20120528192215Z 0
df['comment']
1 "i really don't understand your point. It see...
Name: comment, dtype: object
file /tmp/corpus.csv
/tmp/corpusutf8.csv: UTF-8 Unicode text
Если csv создается с \ xa0 и является ascii, Pandas загружается как ascii, хотя задана кодировка utf-8.
cat /tmp/corpusascii.csv
label,date,comment
0,20120528192215Z,"""i really don't understand your point.\xa0 It seems that you are mixing apples and oranges."""
file !$
file /tmp/corpusascii.csv
/tmp/corpusascii.csv: ASCII text
df1 = pd.read_csv("/tmp/corpusascii.csv", encoding="utf-8")
df1
label date comment
0 0 20120528192215Z "i really don't understand your point.\xa0 It ...