Excel 列到 SQL 语句
Excel columns to SQL statement
这个问题是关于将复制粘贴的列从 Excel 转换为 SQL 语句。我当前的过程包括手动替换东西。在使用一些 notepad++ 功能来控制 h 以删除和替换所有出现的内容后,我喜欢 notepad++ 提供的附加功能。我只是不确定如何使用此功能来更接近最终产品。我觉得当我必须这样做的时候我不能正常操作油门和刹车,如果能实现自动化就好了。也许我只是有这种感觉,因为我知道这可能很容易,或者至少我觉得这让我很烦恼。
Copy/paste从excel变成(貌似这是notepad++):
"Random
Code" "Random
Code" "Random
Code" "Random
Code" "Random
Code" "Random
Number"
首先,我突出显示所有内容并将“(双引号)替换为尖音符、左引号、反引号等等,这个符号`
其次,我将空格替换为\r\n
`Random`
`Code`
`Random`
`Code`
`Random`
`Code`
`Random`
`Code`
`Random`
`Code`
`Random`
`Code`
这让我在新的一行上给了我每个词,每个词都被反引号包围。
您可能已经猜到了,这是我手动清理其余部分的地方
create table table_for_upload (
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null);
为了使数据看起来更像 SQL 声明,一致同意的后续步骤是什么?使用记事本++控制h功能?还是vim?不会为 vim.
添加标签
大多数部分都可以通过正则表达式搜索和替换来完成:
- 打开“替换”对话框,
- 选择“正则表达式”作为搜索模式
- 查找内容:
[[:space:]]*"([^"]+?)(\R\R?)([^"]+)"
- 替换为:
' ': varchar(25) null,
- 点击“全部替换”
- 手动处理第一行:插入“create table”部分
- 手动处理最后一行:将逗号替换为");"
让我们检查一下 [[:space:]]*"([^"]+?)(\R\R?)([^"]+)"
:
[[::space::]]*
匹配 "Random
之前的可选空格
"([^"]+?)
以非贪婪的方式匹配双引号后跟所有不是双引号的内容,并将其存储在 </code></li> 中
<li><code>(\R\R?)
处理 Random
和 Code
之间的换行符并将其存储在 </code></li> 中
<li><code>([^"]+)"
匹配所有不是双引号后跟双引号的内容,并将其存储在 </code></li> 中
<li>替换字符串使用实际行中的 <code>,,
值并将它们与常量 varchar...
字符串 混合
这个问题是关于将复制粘贴的列从 Excel 转换为 SQL 语句。我当前的过程包括手动替换东西。在使用一些 notepad++ 功能来控制 h 以删除和替换所有出现的内容后,我喜欢 notepad++ 提供的附加功能。我只是不确定如何使用此功能来更接近最终产品。我觉得当我必须这样做的时候我不能正常操作油门和刹车,如果能实现自动化就好了。也许我只是有这种感觉,因为我知道这可能很容易,或者至少我觉得这让我很烦恼。
Copy/paste从excel变成(貌似这是notepad++):
"Random
Code" "Random
Code" "Random
Code" "Random
Code" "Random
Code" "Random
Number"
首先,我突出显示所有内容并将“(双引号)替换为尖音符、左引号、反引号等等,这个符号`
其次,我将空格替换为\r\n
`Random`
`Code`
`Random`
`Code`
`Random`
`Code`
`Random`
`Code`
`Random`
`Code`
`Random`
`Code`
这让我在新的一行上给了我每个词,每个词都被反引号包围。
您可能已经猜到了,这是我手动清理其余部分的地方
create table table_for_upload (
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null,
`Random Code`: varchar(25) null);
为了使数据看起来更像 SQL 声明,一致同意的后续步骤是什么?使用记事本++控制h功能?还是vim?不会为 vim.
添加标签大多数部分都可以通过正则表达式搜索和替换来完成:
- 打开“替换”对话框,
- 选择“正则表达式”作为搜索模式
- 查找内容:
[[:space:]]*"([^"]+?)(\R\R?)([^"]+)"
- 替换为:
' ': varchar(25) null,
- 点击“全部替换”
- 手动处理第一行:插入“create table”部分
- 手动处理最后一行:将逗号替换为");"
让我们检查一下 [[:space:]]*"([^"]+?)(\R\R?)([^"]+)"
:
[[::space::]]*
匹配"Random
之前的可选空格
"([^"]+?)
以非贪婪的方式匹配双引号后跟所有不是双引号的内容,并将其存储在</code></li> 中 <li><code>(\R\R?)
处理Random
和Code
之间的换行符并将其存储在</code></li> 中 <li><code>([^"]+)"
匹配所有不是双引号后跟双引号的内容,并将其存储在</code></li> 中 <li>替换字符串使用实际行中的 <code>,,
值并将它们与常量varchar...
字符串 混合