2

我正在尝试将 CSV 文件(位于https://github.com/veekun/pokedex/blob/master/pokedex/data/csv/pokemon_species_names.csv的 Pokemon CSV 文件)导入 SQLite3。我使用以下行创建了一个表:

sqlite> create table pokemon_species_names (pid integer, lang integer, pokemonName text, genus text);

当然,这很好用,但是当我尝试导入上述 CSV 文件时,我收到以下错误:

sqlite> .separator ","(编辑:最初忘记添加这个,但我也运行过这个)

sqlite> .import ./pokemon_species_names.csv pokemon_species_names

Error: ./pokemon_species_names.csv line 1: expected 4 columns of data but found 1948

为什么只有 4 列数据时会找到 1948 列数据?

4

4 回答 4

3

SQLite 可能没有寻找正确的分隔符。尝试运行:

.separator ","

导入前。

于 2012-10-31T01:41:46.773 回答
3

对于任何看到这个的人(5 年后),在 Mac 上的 TextWrangler 中,您选择“另存为”Unicode(UTF-8) 和 Unix(LF)。然后 .import 将像魅力一样工作。

于 2017-12-05T22:07:17.330 回答
0

回答我自己的问题。原来我使用的文件有问题,因为我修改了它(在 Excel 中)。我使用了原始的、未修改的文件,它有效。感谢 glibdud 和 Larry Lustig 为我指明了正确的方向。

于 2012-10-31T01:46:08.507 回答
0

您的 csv 文件应使用 Unicode(UTF-8) Unix(LF) 编码 您可以从 TextWrangler 执行此操作

如果您从 windows/mac 保存它,则它是 Windows(CRLF) 或 Classic Mac(LF)

于 2014-09-21T16:43:51.833 回答