Имя: Пароль:
1C
 
Обработка csv файла
0 myr4ik07
 
12.04.17
19:48
Выгрузка в виде .csv
Разделитель имеет вид ","
Разделитель изменить нельзя.

В одной из колонок выгрузки строка имеет разделитель. т.е. типа (Не утром, а вечером)

Как обработать такой случай?
1 Мимохожий Однако
 
12.04.17
19:50
(0) Никак.Разделитель не должен пересекаться с данными.
2 myr4ik07
 
12.04.17
19:52
(1) как ексел обрабатывает тогда успешно?
3 Мимохожий Однако
 
12.04.17
20:00
(2) Возможно, есть другие служебные символы. Например, перевод строки.
4 myr4ik07
 
12.04.17
20:02
(3) спасибо
5 Serginio1
 
12.04.17
20:54
6 mistеr
 
12.04.17
21:59
(0) Строки в таких случаях должны заключаться в кавычки.
7 myr4ik07
 
13.04.17
13:05
(5) и разберет файл типу
1,Есть,Если не утро, то день,20,Фабрика

интересует главное "Если не утро, то день" вот здесь, что сделает? у меня тут загвоздка
8 Serginio1
 
13.04.17
13:19
Потому, что кроме разделитя есть еще и Qute Char

1,Есть,"Если не утро, то день",20,Фабрика
9 myr4ik07
 
13.04.17
15:22
(8) гляну, будеш шик если обработает, спасибо
10 Живой Ископаемый
 
13.04.17
15:23
2(0) Регэкспами
11 h-sp
 
13.04.17
15:45
(9) в принципе разделитель ";". Кто у вас там придумал запятую использовать?
12 Fragster
 
гуру
13.04.17
15:48
(11) ты не поверишь, но только в СНГ разделитель в Comma Separated Values - не запятая... только из-за того, что запятая у нас - разделитель дробной части. Из-за этого пользователи, скачивающие csv из западных сайтов и открывающие их в экселе имеют проблемы (почему ms не сделали по подобию openoffice - не понятно)
13 Fragster
 
гуру
13.04.17
15:49
1ской можно читать через внешние источники данных с драйвером "текст"
14 mehfk
 
13.04.17
15:50
(1) Может, ЕМНИП, в таком случае строка данных берется в кавычки.
15 Fragster
 
гуру
13.04.17
15:51
(5) один из самых медленных способов
16 h-sp
 
13.04.17
15:55
(12) да, точно, Мурчик ведь не из снг. Поэтому может он даже и не из западных сайтов качал.
17 myr4ik07
 
13.04.17
16:01
Там где в строке есть разделитель
типа
Текст, текст

как два значения разделило (8)

не катит
18 Naf2017
 
13.04.17
16:24
Вообще-то по стандарту такие значения, а лучше все обертывать в "кавычки"
19 Naf2017
 
13.04.17
16:25
20 myr4ik07
 
13.04.17
16:33
(18) какой стандарт и какие должны быть разделители или экранирование я уже обчитался

на сейчас есть то, что есть и нужно обработать с такой загвоздкой
21 drcrasher
 
13.04.17
16:34
(0) таки как строка приходит?
1) 1,Есть,Если не утро, то день,20,Фабрика
или 2) 1,Есть,"Если не утро, то день",20,Фабрика

если вариант 2), то строку в массив и пробежать по элементам на наличие открывающей кавычки и собирать в изначальный вариант до наличия закрывающей.
если вариант 1), то страдать
22 h-sp
 
13.04.17
16:36
(20) никак тогда. Не отличишь

Не утром, а вечером

то ли это 2 поля, то ли одно.
23 myr4ik07
 
13.04.17
16:38
(21) 2-й вариант, попробую
24 drcrasher
 
13.04.17
16:38
+(21) хотя нет, не страдать.
ты же знаешь, какого типа должен быть 4-ый параметр? вот и сравнивай по типу.
правда, этот вариант не подойдёт, если 3 и 4 параметры одного типа
25 myr4ik07
 
13.04.17
16:41
(24) колонок шт 50
26 myr4ik07
 
13.04.17
16:51
(21) капец ), есть колонки у которых и без разделителя двойные кавычки ))))
27 myr4ik07
 
13.04.17
16:52
тот случай, который показывает, какой не должен быть csv файл )
28 drcrasher
 
13.04.17
16:54
(26) ну дык что мешает проверить, что закрывающая кавычка есть и дополнительная обработка не нужна?
29 myr4ik07
 
13.04.17
16:55
(28) понял о чем ты
30 drcrasher
 
13.04.17
16:55
или посмотри, как сделан старый способ строкуВМассив и добавь условие на строку в кавычках
31 h-sp
 
13.04.17
16:59
(26) надо просто включить мозг и подумать. Ведь ясно, что этих загрузок из файла csv в типовых дофига и больше. В УТ точно есть типовая процедура загрузки. Зачем изобретать велосипеды, да еще и форум мурыжить.
32 myr4ik07
 
13.04.17
17:01
(31) не парься
33 Fragster
 
гуру
13.04.17
17:03
экселем через данные - из текста нормально загружается?
34 Fragster
 
гуру
13.04.17
17:03
с разделителем = запятая