Переформатировать данные вставки sql:

('1', 'admin', '^/admin/$', null,'Admin Console', 0,'admin.dashboard.Admin', null),
('1-2',  'admin', '^/admin/aggregates/$', 1,'Host Aggregates', 0,'admin.aggregates.panel.Aggregates', null),
('1-2-1',  'admin', null, '1-2','Host Aggregates', 1,null, null),

к этому:

('1',     'admin', '^/admin/$',            null,  'Admin Console',   0, 'admin.dashboard.Admin',             null),
('1-2',   'admin', '^/admin/aggregates/$', 1,     'Host Aggregates', 0, 'admin.aggregates.panel.Aggregates', null),
('1-2-1', 'admin', null,                   '1-2', 'Host Aggregates', 1, null,                                null),

2 ответа2

0

Вот альтернативный подход, который просто читает CSV и форматирует его в виде таблицы. Он использует powershell:

PS> import-csv myinput.csv | Формат стола

Это не меняет сам файл CSV. Это просто дает вам читаемую копию. Если вы хотите поместить читаемую копию в другой файл, сделайте это:

PS> import-csv myinput.csv | таблица форматов> mycopy.txt

Примечание: настоящая подсказка не PS>. Я просто так написал, чтобы сэкономить место.

0

Есть ли символ ASCII, который никогда не появится в ваших данных?  Возможно @ , % или ~?  Если это так, используйте этот символ следующим образом:

sed 's/, */,@/g' your_file | column -s'@' -t

Команда sed разделяет ваши столбцы символами @ , удаляя пробелы между столбцами (но оставляя запятые), например так:

('1',@'admin',@'^/admin/$',@null,@'Admin Console',@0,@'admin.dashboard.Admin',@null),@
('1-2',@'admin',@'^/admin/aggregates/$',@1,@'Host Aggregates',@0,@'admin.aggregates.panel.Aggregates',@null),@
('1-2-1',@'admin',@null,@'1-2',@'Host Aggregates',@1,@null,@null),@

Затем команда column разделяет столбцы, используя @ в качестве разделителя столбцов (-s'@'), и форматирует данные в виде таблицы (-t).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .