【发布时间】:2013-10-09 17:41:33
【问题描述】:
我正在尝试使用 id 整数主键将数据从 csv 导入 sqlite3 数据库。看了this SO question之后,我创建了一个临时表,从一个csv文件中导入11列。
数据:
a||b||c||d||e||f||g||h||i||j||k
l||m||n||o||p||q||r||s||t||u||v
我试过了
.separator "||"
.import path/to/table tableName
我收到以下错误:
Error: path/to/table line 1: expected 11 columns of data but found 21
我做错了什么? csv 文件的格式应该不同吗?
注意: 该列表是使用类似于下面的方法在 AppleScript 中构建的。 bash 中的 echo 是否会导致问题?
set delim to "||"
set myList to {"a", delim, "b", delim, "c", delim, "d", delim, "e", delim, "f", delim, "g", delim, "h", delim, "i", delim, "j", delim, "k", return, "l", delim, "m", delim, "n", delim, "o", delim, "p", delim, "q", delim, "r", delim, "s", delim, "t", delim, "u", delim, "v", return}
set myList to myList as text
set outPath to POSIX path of (path to desktop as text) & "data.csv"
do shell script "echo " & quoted form of myList & " > " & quoted form of outPath
【问题讨论】:
-
你用的是什么行分隔符?
-
行分隔符是 sqlite3 选项还是您指的是 csv 文件?
-
问因为如果换行将被删除,会有21个字段。
-
上面发布的附加信息有帮助吗?
标签: database bash shell sqlite applescript