Самый простой способ импортировать текстовый файл фиксированной ширины без массовой вставки - PullRequest
0 голосов
/ 07 апреля 2020

Я получаю 3 еженедельных текстовых отчета с фиксированной шириной, в среднем размером около 100 КБ (15-30 столбцов, ~ 1300 строк). Мне нужно выполнить запросы к нему по существующим данным на моем sql сервере. Из-за частоты этих отчетов я ищу наиболее удобный способ привести их в состояние, в котором я могу выполнять запросы к ним. У меня нет разрешения на массовую вставку, и я не могу его получить.

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

Мне пришло в голову, что я могу преобразовать эти файлы фиксированной ширины в файлы CSV, но я не видел удобного способа сделать это онлайн, который не дает мне некоторые проблемы конфиденциальности данных. Прямо сейчас мое лучшее решение - импортировать файлы в Excel, а затем экспортировать как CSV, что более громоздко, чем мне бы хотелось. Есть ли лучшие решения?

Пример данных и формат:

Sample data:
UQ739413442484036421     081628608351285911817142308014              2  

Sample format:
+----+------+---------------+--------+---+--------+-+--+-+-+--+--+--+--------+--+--+--+-+-+-+
| c1 |  c2  |      c3       |   c4   | c5|   c6   | |c8| | |  |  |  |  c14   |  |  |  | | | |   
+----+------+---------------+--------+---+--------+-+--+-+-+--+--+--+--------+--+--+--+-+-+-+
|UQ73|941344|2484036421     |08162860|835|12859118|1|71|4|2|30|80|14|        |  |  |  |2| | |
+----+------+---------------+--------+---+--------+-+--+-+-+--+--+--+--------+--+--+--+-+-+-+

Field widths:
4,6,15,8,3,8,1,2,1,1,2,2,2,8,2,2,2,1,1,1

Field positions:
0,4,10,25,33,36,44,45,47,48,49,51,53,55,63,65,67,69,70,71
...