我正在将多个 CSV 文件导入到一个表中。CSV 导入的文档说
当表已存在时,CSV 文件的每一行(包括第一行)都被假定为实际内容。如果 CSV 文件包含列标签的初始行,您可以使用“--skip 1”选项使 .import 命令跳过该初始行。
但我似乎无法找到传递该标志的有效方法。我尝试了以下方法:
sqlite> .import foo.csv contributions --skip 1
Usage: .import FILE TABLE
sqlite> .import --skip 1 foo.csv contributions
Usage: .import FILE TABLE
sqlite> .import foo.csv --skip 1 contributions
Usage: .import FILE TABLE
Run Code Online (Sandbox Code Playgroud)
我使用的是3.30.1版本。
我发现在 3.32.0 上,这将跳过前两行,即标题行和第一个数据行:
.import --csv --skip 2 file.csv tablename
问题可能出在你说的地方:
我用的是3.30.1
根据sqlite 发行说明,该--skip选项在 3.32.0 中实现:
SQLite 版本 3.32.0 于 2020 年 5 月 29 日 ... 9. CLI 增强: (a) 向 .import 命令添加选项:--csv、--ascii、--skip
您可以从官方下载页面获取最新版本。