Pandas read_csv dtype читает все столбцы, но лишь немногие, как строкуPython

Программы на Python
Ответить
Anonymous
 Pandas read_csv dtype читает все столбцы, но лишь немногие, как строку

Сообщение Anonymous »

Я использую Pandas для чтения нескольких CSV-файлов. Передача параметра options json в dtype, чтобы сообщить pandas, какие столбцы следует читать как строку, а не как по умолчанию:

Код: Выделить всё

dtype_dic= { 'service_id':str, 'end_date':str, ... }
feedArray = pd.read_csv(feedfile , dtype = dtype_dic)
В моем сценарии все столбцы, за исключением нескольких определенных, должны читаться как строки. Поэтому вместо того, чтобы определять несколько столбцов как str в dtype_dic, я бы хотел установить только несколько выбранных столбцов как int или float. Есть ли способ сделать это?

Это цикл, проходящий через различные CSV-файлы с разными столбцами, поэтому прямое преобразование столбцов после чтения всего CSV-файла как строки (

Код: Выделить всё

dtype=str
), было бы непросто, поскольку я не мог бы сразу узнать, какие столбцы есть в CSV. (Я бы предпочел потратить эти усилия на определение всех столбцов в dtype json!)

Изменить: Но если есть способ обработать список имен столбцов, который будет преобразуется в число без ошибок, если этот столбец отсутствует в этом CSV-файле, тогда да, это будет допустимое решение, если нет другого способа сделать это на самом этапе чтения CSV.
Примечание: это звучит как ранее заданный вопрос, но ответы там пошли по совершенно другому пути (связанному с логическим значением), что не относится к этому вопросу. Пожалуйста, не отмечайте как дубликат!

Подробнее здесь: https://stackoverflow.com/questions/496 ... -as-string
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»