Я импортирую данные из файлов Excel, которые поступают из другого офиса. В одной из столбцов для каждой ячейки у меня есть списки чисел, используемых в качестве тегов. Они были вручную вставлены разными людьми и (моя догадка) с использованием компьютеров с разными тысячами настроек, поэтому результат очень неоднородный.Как правильно разобрать текстовые числа, разделенные смешанными запятыми и точками в файле excel, используя Python?
В качестве примера у меня есть:
tags= ['205', '306.3', '3,206,302','7.205.206']
Если это файл CSV (я попытался преобразующий один файл, чтобы проверить), используя
pd.read_csv(my_file,sep=';')
дал бы мне точно указанное выше список ,
К сожалению, как было сказано, мы говорим о первенствовать файлов (множественное число), и мне приходится иметь дело с ним, и с помощью
pd.read_excel(my_file,sheetname=my_sheet,encoding='utf-16',converters{'my_column':str})
что я получаю вместо этого:
tags= ['205', '306.3', '3,206,302','7205206']
Как вам см., всякий раз, когда число может быть выражено логически в тысячах (так, а не второе число в моем списке) точка распознается как разделитель тысяч, и я получаю одиночное число, а не три.
Я пробовал читать документацию и искать в stackoverflow и google, но ключевые слова для описания этой проблемы слишком расплывчаты, и я пока не нашел жизнеспособного решения.
Как я могу получить правильный список, используя файлы excel?
Спасибо.
Являются ли цифры, хранящиеся по-разному в Excel или только отформатированные по-разному? – asongtoruin
Я думаю, что они хранятся по-разному, потому что преобразование того же файла в CSV, что я получаю, по-прежнему является столбцом со смешанными ячейками (некоторые с запятыми, некоторые с точками). При открытии файла Excel они также кажутся визуально разными (некоторые распознаются как числа и выравниваются вправо, некоторые распознаются как текст и выравниваются влево). – Shark8