Есть CSV-файлы, при формировании которых десятичным разделитем сдуру поставили запятую, а так как она же и разделитель полей, то файлы теперь экспортируются в эксель неправильно. Файлы - это ценные данные с приборов, и очень нужно их реанимировать, приведя формат к правильному.
Для исправления достаточно заменить все четные запятые в каждой строке файла на точки, но я не умею писать скрипты, а регулярные выражения не катят, т.к. численные форматы полей разные.
Кто-нибудь из знатоков может срочно помочь?
Спасибо заранее и с наступающим!
Как заменить все четные запятые в строках на точки?
- Author
- Message
-
Offline
- Posts: 56
- Joined: Tue Aug 26, 2008 9:56 am
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Re: Как заменить все четные запятые в строках на точки?
Отчего же не катят? Вы просто не совсем правильно их "готовите" (в смысле, регэкспы)temp1111 wrote: Для исправления достаточно заменить все четные запятые в каждой строке файла на точки, но я не умею писать скрипты, а регулярные выражения не катят, т.к. численные форматы полей разные.
Тут только требуется уточнение:
Не учитываются идущие подряд запятые, т.е. между ними должен присутствовать хотя бы один любой символ... если требуется учет таких запятых, то потребуется небольшое изменение регэкспов.
Вариант 1:
Code: Select all
Что: (,)([^,]++)(\1)
Чем: \1\2.
Вариант 2:
Code: Select all
Что: (,)([^,\n]++)(\1)
Чем: \1\2.