CSV SQLite3的.import错误

时间:2013-10-09 17:41:34

标签: database bash shell sqlite applescript

我正在尝试使用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中的回声是否会导致问题?

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

1 个答案:

答案 0 :(得分:1)

return(0x0d)本身似乎不是.import的公认行分隔符(虽然它可能因版本而异,因为我的.import也只接受单字符分隔符)

尝试在生成的AppleScript中用return替换linefeed