我正在尝试使用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
答案 0 :(得分:1)
return
(0x0d)本身似乎不是.import
的公认行分隔符(虽然它可能因版本而异,因为我的.import
也只接受单字符分隔符)
尝试在生成的AppleScript中用return
替换linefeed
。