重新格式化 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),
答案1
以下是另一种方法,它只读取 csv,并将其格式化为表格。它使用 powershell:
PS> import-csv myinput.csv | 格式表
这不会改变 CSV 文件本身。它只会为您提供一个可读的副本。如果您想将可读副本放入另一个文件中,请执行以下操作:
PS> 导入 csv myinput.csv | 格式表 > mycopy.txt
注意:真正的提示符不是 PS>。我只是为了节省空间才这样写的。
答案2
是否存在永远不会出现在您的数据中的 ASCII 字符?可能是@
,%
或~
?如果是这样,请按如下方式使用该字符:
sed's/,*/,@/g'你的文件| 列 -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
)。