Выбор ответа Junior Чтение и запись данных спрашивают часто обновлено
Ведущие нули после read_csv
Вопрос
В CSV колонка zip содержит индексы вида 010000. После pd.read_csv там 10000. Как исправить?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Передать dtype={"zip": str} (или "string"). pandas распознал колонку как число, и ноль впереди потерялся уже при чтении.
Варианты ответа
- Передать
dtype={"zip": str}(или"string")правильный ответ - Добавить
parse_dates=["zip"]при чтении файла - После чтения сделать
df["zip"].astype(str) - Указать
decimal=","иthousands=" "при чтении
Разбор
pandas распознал колонку как число, и ноль впереди потерялся уже при чтении. Нужно сразу читать её строкой через dtype. astype(str) после чтения вернёт "10000", нули не восстановятся (можно добить zfill, но это костыль). parse_dates и decimal к задаче не относятся.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Чтение и запись данных»
- Как прочитать большой файл в pandas
- Файл больше памяти в pandas
- Агрегат по кускам через chunksize
- Вложенный JSON заказов в таблицу
- Разбор выгрузки из Excel: sep, decimal, dtype
- Запятая в дробях при чтении CSV
- CSV для русского Excel
- read_csv для русской выгрузки