Я пытаюсь вывести результат в рамку данных pandas. Когда я печатаю фрейм данных, значения объекта отображаются правильно, но когда я использую функцию to_csv в кадре данных, мой вывод csv имеет только первый символ для каждого значения строки/объекта.Python Pandas to_csv Output Возвращает одиночный символ для значений String/Object
df = pandas.DataFrame({'a':[u'u\x00s\x00']})
df.to_csv('test.csv')
Я также попытался следующее дополнение к функции to_csv:
df.to_csv('test_encoded.csv', encoding= 'utf-8')
Но я получаю те же результаты:
>>> print df
a
0 us
(output in csv file)
u
Для справки, я с подключением к Vertica и используя следующую настройку:
- ОС: Mac OS X Yosemite (10.10.5)
- Python 2.7.10 | Anaconda 2.3.0 (x86_64) | (По умолчанию, 15 сентября 2015, 14:29:08)
- pyodbc 3.0.10
- панд 0.16.2
- ODBC: Vertica ODBC 6.1.3
Любая помощь выяснить, как передайте всю строку объекта с помощью функции to_csv в пандах.
Это может быть воспроизведен с помощью 'DF = pd.DataFrame ({ 'а': [u'u \ x00s \ x00' ] }) ',' df.to_csv() '(часть sql на самом деле не имеет значения) – joris
thanks @joris - я обновил вопрос, чтобы упростить его и отразить основную проблему. –
Обратные косые черты в строке юникода должны быть экранированы , 'df = pd.DataFrame ({'a': [u'u \\ x00s \\ x00 ']})' правильно возвращает файл данных с 'u \ x00s \ x00'. – dagrha