usecols - python pandas to csv example




Pandas записывает данные в файл CSV (5)

Если вы не хотите индекса.

 df.to_csv("out.csv", index=False)

У меня есть dataframe в пандах, которые я хотел бы записать в CSV-файл. Я делаю это, используя:

df.to_csv('out.csv')

И получение ошибки:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128)

Есть ли способ обойти это легко (т.е. у меня есть символы Юникода в моем кадре данных)? И есть ли способ записать в файл с разделителями табуляции вместо CSV, используя, например, метод «to-tab» (который, как я думаю, не существует)?


Иногда вы сталкиваетесь с этими проблемами, если вы также укажете кодировку UTF-8. Я рекомендую вам указывать кодировку во время чтения файла и того же кодирования во время записи в файл. Это может решить вашу проблему.


Чтобы разграничить вкладку, вы можете использовать аргумент sep для to_csv :

df.to_csv(file_name, sep='\t')

Чтобы использовать конкретную кодировку (например, «utf-8»), используйте аргумент encoding :

df.to_csv(file_name, sep='\t', encoding='utf-8')

Я хотел бы добавить кое-что к тому, что уже упоминал Энди Хейден в своем ответе.

Когда вы храните объект DataFrame в файл csv с to_csv метода to_csv , вам, вероятно, не нужно будет хранить предыдущие индексы каждой строки объекта DataFrame .

Вы можете избежать этого, передав False логическое значение для index параметра.

Скорее всего:

df.to_csv(file_name, encoding='utf-8', index=False)

Поэтому, если ваш объект DataFrame выглядит примерно так:

  Color  Number
0   red     22
1  blue     10

Файл csv будет хранить:

Color,Number
red,22
blue,10

вместо (в случае, когда значение True было передано по умолчанию )

,Color,Number
0,red,22
1,blue,10

Нашел это, чтобы поделиться, Cheers! :-)


df.to_csv('out.csv', sep=',')

Это будет работать определенно.

Измените df на имя имени вашей программы и запустите.

Используйте anaconda в режиме ожидания.





dataframe