@JRBRO

Почему два CSV файла после удаления нескольких строк читаются по разному?

Вообщем, есть csv файл который прекрасно работает.

Я удалил несколько строк не меняя 1ую и на макбуке экспортировал его как .csv. Визуально они ничем не отличаются, но измененный выдает такой результат. Файлы хранятся локально

AttributeError: 'DataFrame' object has no attribute 'Nr.'

При вызове распечатки столбцов
data = pd.read_csv(sys.argv[1])
print(data.columns)

Отредактированный файл выдает
Index([';Nr.'], dtype='object')
А оригинальный
Index(['Nr.'],
      dtype='object')


Где может быть собака зарыта? Визуально первая строка ничем не отличается. Пробовал копировать одну в другую, ничего не помагает
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
@o5a
Потому что надо учитывать разделители колонок. Задается параметром sep у pd.read_csv/to_csv. По умолчанию он считается запятой у этих функций, так же как и у англоязычного Excel. Но в российской версии Excel по умолчанию используется точка с запятой - ;
Поэтому видимо изначально этот файл был с разделителем - запятой, потому правильно читались колонки через read_csv, а затем Вы пересохранили (хотя не указали, как именно "на макбуке экспортировал его как .csv") видимо в русской локали, поэтому разделителями стала точка с запятой - отсюда перестал читаться через read_csv.
Так что указывайте тот разделитель, который реально в вашем файле, чтобы читалось правильно:
data = pd.read_csv(sys.argv[1], sep=';')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы