Я использую считыватель csv-файлов python для чтения файла csv. Мой код выглядит следующим образом:Python CSV-читатель файлов: формат плохих ячеек для больших чисел
with open(self.csv_file, 'rb') as csvfile:
data = list(csv.reader(csvfile, delimiter=';'))
Все работает отлично, за исключением одного столбца моего файла csv. У меня есть столбцы с номерами с плавающей запятой, которые находятся между 1 и -1 (например: 0,34430203959), и он отлично работает, но один из моих столбцов имеет дело с очень большими числами (например: 142266963436). Поскольку ячейки файла отформатированы как "стандарты", мой файл CSV будет printig номер 142266963436 в 142.266.963.436 (как показано на рисунке ниже):
Существует проблема. Когда я разбираю свой файл CSV, у него нет проблем с небольшими номерами, потому что есть только один «.». но когда я разбираю большие числа с большим количеством "." python интерпретирует их как «float» и ставит «.». после первого номера.
Таким образом, вместо того, чтобы номер:
142266963436
У меня есть номер:
1.42266963436
Каждый имеет представление о том, как я мог это исправить?
Благодарим за помощь!
Я предполагаю, что вы находитесь в зоне евро-типа, где '.' является разделителем тысяч чисел? –
Нет, Python никогда бы этого не сделал; здесь есть и другая путаница. Python считывает данные только как * строки *. Можете ли вы показать нам 'repr()' оскорбительного столбца, пожалуйста? –
И не путайте, что будет отображать Excel с тем, что на самом деле хранится в CSV-файле на диске. –