Странная проблема импорта CSV в набор записей - PullRequest
0 голосов
/ 26 марта 2011

Я пытаюсь импортировать CSV в набор записей.Я использовал код, любезно предоставленный пользователем stackoverflow здесь , и он работал хорошо в течение длительного времени.

Недавно начали получать странную ошибку.Во всех случаях файл открывается и читается без каких-либо ошибок.

СИМПТОМЫ (ПОСЛЕ МНОЖЕСТВА ТЕСТИРОВАНИЯ!)

Некоторые строки ИНОГДА импортируются с заданным (большим) полем пустым (текст вжирный шрифт ниже не импортируется)

£ 0,00,0,00, £ 0,00, £ 0,00 ,,,,,,, "Birmingham - OCW1", "N221A-BIR", "Switch", 0 ,,,02.04.2011 14: 16: 00,0, «Работа обновлена ​​04.02.2011, 05:50» автором James Helanor.

Работа обновлена ​​04.02.2011, 08:02 Скоттом Мургатройдом.

Работа обновлена ​​04.02.2011 10:05 Скоттом Мургатройдом.

Работа обновлена ​​04.02.2011 11:10 Шоном Хатерли.

Работа обновлена04.02.2011 11:55, Dawn Marie.

Работа обновлена ​​04.02.2011, 12:00 Шоном Хатерли.

Работа, обновлена ​​02.04.2011 13:13 от Sean Hatherley.

Работа отправлена ​​05/02/2011 06:03 Джеймсом Хеланором с рисками:,

Работа обновлена ​​08.02.2011 14:57 Sean Hatherley.

Работа обновлена ​​08.02.2011 14:59 Шоном Хатерли.

Работа Упдаted On 02.09.2011 08:26 от O2 Engineer 2.

Работа обновлена ​​02.02.2011 08:47 Sean Hatherley.

Работа обновлена ​​15.02.201110:48 от Sean Hatherley.

Задание обновлено 18.02.2011 10:25 от Sean Hatherley.

Завершено 24.02.2011 11:27 Sean Hatherley

Восстановлено (Реактив не был завершен) 11.03.2011 15:56 инженером O2 2 ---- 03.11.2011 15:53 ​​инженером O2 2: ** Дело остается открытым **Работа обновлена ​​21/03/2011 07:29 инженером O2 2. ",,,," JAMES "," P1 Out of Hour Emergency ", £ 0,00,0.00, £ 0,00,0.00," Выпущено ", 04/02/ 2011 05: 26: 40,0.00 ,,, 0, 04/02/2011 05:26:00, "C63024", "Сигнализация Адамса - 9-й этаж EMX AHU 4 Prompt", "OOH Property", "Приоритет 1", 1, -1 ,,,," Служба поддержки ", 04.02.2011 05:26:00," нет "," F80-03-03 "," 01753 564 222 ", 04.02.2011 11:30: 00,04 / 02/2011 06:56:00 ,,, "In Progress", "BTW-OOH", "BT Wholesale - S", " ---- 04/02/2011 05:50 Джеймсом Хеланором: Вызывается BT, чтобы сообщить о неисправности - данный номер TH32330 - текст руководства отправлен для уведомления о неисправности, хотяпока нет, пока нет ---- 04.02.2011 08:02 Скотт Мургатройд: Работа передана в BT eng, обновление текста отправлено ---- 04.02.2011 10:05 Скотт Мургатройд: Инженер BT примет участие, обновленный текст отправлен ---- 04.02.2011 11:10 Шон Хатерли: По словам инженера BT, он будет на месте через 20 минут.---- 04/02/2011 11:53 By Dawn Marie: обновление от Babu Patel 07711640502 Инженер BT находится на месте, устройство отключено при низком давлении, Бабу пытается найти утечку хладагента, но это может занять несколько дней, чтобы найти,---- 04/02/2011 11:59 Шон Хатерли: Ранг Адам Элвидж, он посоветовал оставить это как P1 и преследовать ежедневно, а не 4 часа.---- 04/02/2011 13:12 Шон Хатерли: Текст отправлен ---- 08.02.2011 14:57 Шон Хатерли: BT повторно посещают 09.02.11 для устранения ошибки низкого давления.Звони Адаму Эльвиджу, чтобы посмотреть, можно ли его понизить.---- 02.09.2011 08:25 Инженером O2 2: Адам Элвидж - Кейс останется как P1 ---- 10.02.2011 08:44 Шоном Хатерли: Преследуемый с BT, у них больше нетобновлений пока нет, но они передаются инженеру, чтобы перезвонить.---- 15/02/2011 10:47 Шон Хатерли: Преследуемый с BT, у них нет дальнейших обновлений.---- 18/02/2011 10:24 Шон Хатерли: Rang BT, пошел в офис переполнения, и они будут преследовать инженера и перезвонить с обновлением, поскольку оно все еще открыто в их системе.---- 24/02/2011 11:27 Шон Хатерли: Тревога теперь снята с Адамса, работа закрыта ---- 11.03.2011 15:54 Инженером O2 2: утечка газа не устранена, ожидаяОбновление от регионального менеджера BT Джона Гринфилда.---- 21/03/2011 07:28 От O2 Engineer 2: Дело остается открытым, ожидая ответа от BT о текущем состоянии.Дело остается открытым",,,,,

Причиной этого, по-видимому, является как минимум еще одна строка в CSV:

£ 0,00,0,00, £ 0,00, £ 0,00 ,,,,, "AF PO RAISED", "Заказ на поставку поднят",«Croydon - OCW1», «N221A-CRO», «Switch» ,,,, 08/03/2011 11: 32: 00,0, «Работа отправлена ​​08/02/2011 11:32 Сарой Нортвет с рисками:,

Работа обновлена ​​09/02/2011 07:56 Энн Фариш.

Работа отправлена ​​09/02/2011 07:57 Энн Фариш с рисками:,

Работа обновлена ​​09/02/2011 09:03 Priya Mistry.

Работа обновлена ​​15.03.2011 15:21 Sean Hatherley.

Работа отправлена ​​15/03/ 2011 15:21 от Sean Hatherley с рисками:,

Задание обновлено 15.03.2011 15:28 от Sean Hatherley.

Задание отправлено 15.03.2011 15:29Шоном Хатерли с рисками:, ",,," 02/12980 "," SARAHN "," Инженер P4 CWP для выполнения проектных работ ", £ 0,00,0,00, 0,00,0,00," Выдано ", 08/02 /2011 11: 32: 06,0.00 ,,, 0, 08/02/2011 11:32:00, «C63448», «заменить вентиляторы в системе ИБП», «Инженер МКС», «Приоритет 4», 4,-1 ,,,, "ХилтонGumbs ", 08.02.2011 11:32:00," Да "," Инженер "," 07702368336 ",, 03.08.2011 11:32:00 ,,," В процессе "," CWP-ENG-HGUMBS "," Hilton Gumbs - D "," _---- 09/02/2011 07:56 Энн Фариш: ПО было запрошено у emerson заменить вентилятор на Hilton Gumbs ---- 09.02.2011 09: 03 По Priya Mistry: po одобрен и отправлен ---- 15/03/2011 15:21 Sean Hatherley: E-mail Hilton для обновления ---- 15/03/2011 15:28 Sean Hatherley: Обновление Hilton:Вентиляторы ИБП должны быть заменены 07/04/2011

_ ", £ 0,00," ENG-CRO-EAL "," HILTON GUMBS ", 30/12/1899 00: 00: 00,

Если я включу эту строку в импортируемый файл, текст, выделенный жирным шрифтом выше, исчезнет. Если я пропущу эту строку, он импортируется нормально.

Вот странный бит, результат, кажется, зависит от позиции вышеупомянутой строки и от того, сколько других строк включено.

Если я импортирую только эти две строкивсе работает нормально, если я импортирую обе строки с большим количеством других, они импортируют , пока вторая строка находится во второй половине текстового файла

Даже страннее, если я уменьшу полезначение, выделенное курсивом до 244 символов, все работает.

Это как-то связано с набором записей, делающим предположения о том, какой тип данных он обрабатывает?Любые мысли очень приветствуются.

Спасибо

1 Ответ

1 голос
/ 28 марта 2011

Исправлено!

Насколько я понимаю, система сделает обоснованное предположение о типах данных CSV, и в моем случае это было неправильно.

Оказывается, мне нужен был файл schema.ini (в той же папке, что и CSV), чтобы указать тип данных каждого столбца по строкам:

[file.txt]
Формат = CSVDelimited
CharacterSet = ANSI
ColNameHeader = True
Col1 = ActLabCost text
Col2 = ActLabTime text
Col3 = ActMatCost text
...

Я установил тип столбца проблемного столбца в LongChar, и все, кажется, работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...