假设我有一个这样的 CSV 文件:
1,"abc",,,,
2,"def",,,"ghi",
3,,"jkl",,,"mno"
现在我需要通过 3 步来转换它:
- 用字符串替换所有空格
NULL
- 在开头添加每行字符串
VALUES (
- 在末尾添加每行字符串
);
因此我有:
VALUES (1,"abc",NULL,NULL,NULL,NULL);
VALUES (2,"def",NULL,NULL,"ghi",NULL);
VALUES (3,NULL,"jkl",NULL,NULL,"mno");
我想使用 Notepad++ 或者类似的东西。
这是为了将 csv 转换为有效的 sql 文件。
答案1
我相信我已经将其归结为两个查找/替换表达式。
按Ctrl+H调出替换对话框。
1,"abc",,,,
2,"def",,,"ghi",
3,,"jkl",,,"mno"
查找内容: ^([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*)$
替换为:VALUES\(NULL\1,NULL\2,NULL\3,NULL\4,NULL\5,NULL\6\);
VALUES(NULL1,NULL"abc",NULL,NULL,NULL,NULL);
VALUES(NULL2,NULL"def",NULL,NULL,NULL"ghi",NULL);
VALUES(NULL3,NULL,NULL"jkl",NULL,NULL,NULL"mno");
查找内容:NULL([^,\)])
替换为:\1
VALUES(1,"abc",NULL,NULL,NULL,NULL);
VALUES(2,"def",NULL,NULL,"ghi",NULL);
VALUES(3,NULL,"jkl",NULL,NULL,"mno");