Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема баг ИТ при загрузке csv-файла (число прочтений - 3979 )
vivm
Full Member
***
Отсутствует



Сообщений: 159
Местоположение: Новосибирск
Зарегистрирован: 26. Мая 2006
Пол: Мужской
баг ИТ при загрузке csv-файла
04. Августа 2008 :: 06:28
Печать  
Проблема в следующем:

Гружу в базу документы csv-файлом через ИТ.

[code]итз.ИзФайла(рПапка+рФайл,4,1); [/code]

Если в полях комментария встречается кавычка первым символом в поле, она не прорисовывается, а следующая кавычка переносит остаток строки в следующее поле.

Если Кавычка идет не первым символом, она обрабатывается нормально.

файл и тестовая обработка прилагается.

Попробовал загрузить через ODBC, получилось ещё хуже  :(.

Что посоветуете?
  

bugIT.zip ( 3 KB | Загрузки )
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: баг ИТ при загрузке csv-файла
Ответ #1 - 04. Августа 2008 :: 07:11
Печать  
По поводу ИТ сказать не могу. Но в сложных случаях делаю так:

Код
Выбрать все
Set tfolder = FSO.GetSpecialFolder(2)
Set Text = tfolder.CreateTextFile("schema.ini")
Text.WriteLine "[data.txt]"
Text.WriteLine "DecimalSymbol = ','"
Text.WriteLine "NumberDigits=1"
Text.WriteLine "MaxScanRows = 100"
Text.WriteLine "Format = Delimited(|)"
Text.WriteLine "ColNameHeader = False"
Text.Close

Set Connect = CreateObject("ADODB.Connection")
Connect.ConnectionString = "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=" & tfolder.Path
Connect.Open()

Set RStxt = CreateObject("ADODB.RecordSet")
RStxt.ActiveConnection = Connect

Query = "SELECT RTRIM(F1) AS COUNTRY, RTRIM(F2) AS REGION_CODE, RTRIM(F3) AS REGION_NAME, RTRIM(F4) AS CITY_NAME, RTRIM(F5) AS CITY_CODE FROM [data.txt]"
RStxt.Open(Query)
While NOT RStxt.EOF
  [Тут творишь все свои безобразия]
Loop 


  
Наверх
 
IP записан
 
vivm
Full Member
***
Отсутствует



Сообщений: 159
Местоположение: Новосибирск
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: баг ИТ при загрузке csv-файла
Ответ #2 - 04. Августа 2008 :: 09:19
Печать  
Спасибо, попробую. Но не слишком удобно в том смысле, что у меня в csv-файле первой строчкой идут названия колонок, с ИТ это решается автоматически.

может в багзиллу записать, если есть какие-нибудь шансы это поправить?
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: баг ИТ при загрузке csv-файла
Ответ #3 - 04. Августа 2008 :: 09:23
Печать  
vivm писал(а) 04. Августа 2008 :: 09:19:
Спасибо, попробую. Но не слишком удобно в том смысле, что у меня в csv-файле первой строчкой идут названия колонок, с ИТ это решается автоматически.

может в багзиллу записать, если есть какие-нибудь шансы это поправить?


1. Text.WriteLine "ColNameHeader = True" - будут тебе названия колонок
2. Конечно писать, и прикладывать тест
  
Наверх
 
IP записан
 
vivm
Full Member
***
Отсутствует



Сообщений: 159
Местоположение: Новосибирск
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: баг ИТ при загрузке csv-файла
Ответ #4 - 04. Августа 2008 :: 11:18
Печать  
написал в багзиллу http://www.1cpp.ru/bugs/show_bug.cgi?id=4031
  
Наверх
ICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: баг ИТ при загрузке csv-файла
Ответ #5 - 04. Августа 2008 :: 12:23
Печать  
вот тут тоже самое видимо
http://www.1cpp.ru/forum/YaBB.pl?num=1177069886/2#2

и вот тут
http://www.1cpp.ru/forum/YaBB.pl?num=1206707289/0#0

наверное на форуме есть темы еще
но в выше означенных есть тестовые случаи  Улыбка
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
vivm
Full Member
***
Отсутствует



Сообщений: 159
Местоположение: Новосибирск
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: баг ИТ при загрузке csv-файла
Ответ #6 - 04. Августа 2008 :: 13:20
Печать  
да ...   Плачущий  похоже ждать придется долго
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: баг ИТ при загрузке csv-файла
Ответ #7 - 04. Августа 2008 :: 16:57
Печать  
Можно считать, что формат не поддерживает значения, содержащие кавычки.

Попробуйте, например, сериализовать и десериализовать что-то типа
Код
Выбрать все
	_т.Первая ="""К1""-""К1""";
 



Сделано это для того, чтобы можно было закачивать строки имеющие ";" в содержательной части, а не в качестве разделителя.

P.S.
Это мой неофициальный комментарий о природе вещей, почему оно так происходит.
Надо ли это исправлять, либо отражать в документации - это уже в компетенции Леши Диркса как автора и идеолога объекта.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
vivm
Full Member
***
Отсутствует



Сообщений: 159
Местоположение: Новосибирск
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: баг ИТ при загрузке csv-файла
Ответ #8 - 25. Сентября 2008 :: 08:52
Печать  
баг исправлен Алексеем в 3.0.1.17, за что ему большое спасибо  Подмигивание
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать