mmT*_*mmR 3 postgresql carriage-return
我试图导入一个大的csv文件(~4.5gb)到Postgres但它不断抛出以下错误:
错误:在数据中找到未加引号的回车
提示:使用带引号的CSV字段表示回车.
背景信息:COPY abc_complete_file_261115,第9041959行
我在SublimeText2中打开了我的csv并跳转到9041959行,找到了我需要的记录的URN,将文件加载到Vim并转到该行.我在Vim中启用了隐藏字符(通过使用:set list)所以我希望看到一个回车^ M在数据行的某个地方,但我能找到的唯一一个就是在预期的行尾.
经过一整天的研究并且没有进一步解决这个问题后,我最终删除了第9041959行的记录 - 这并没有解决问题.
然后我想好了也许它在记录之间发生了一些奇怪的事情 - 所以我最终删除了抛出错误的那一行左右的5条记录 - 但它再次给出了同样的错误.(我会担心以后保留数据,现在我只是想导入文件,以便我可以查看Postgres).我确保在重新运行查询之前已将更改保存到csv文件,但它只是给出了相同的错误.
我觉得我错过了一些非常明显的东西 - 有没有人有任何想法可能导致这个问题?
我正在使用运行El Capitan的Mac.
非常感谢
2015年11月27日更新
嗨@JakubKania.很抱歉没有提出查询 - 我不这样做的原因是因为我99.9%确定问题与csv文件而不是查询有关.通用版本是:
CREATE TABLE large_file_test(
urn VARCHAR,
forename CHAR(32),
surname CHAR(32));
COPY large_file_test FROM '/Users/Shared/largefile1.csv' (FORMAT CSV, DELIMITER ',', HEADER, ENCODING LATIN1);
COPY large_file_test FROM '/Users/Shared/largefile2.csv' (FORMAT CSV, DELIMITER ',', HEADER, ENCODING LATIN1);
COPY large_file_test FROM '/Users/Shared/largefile3.csv' (FORMAT CSV, DELIMITER ',', HEADER, ENCODING LATIN1);
ALTER TABLE large_file_test
ADD CONSTRAINT large_urn
PRIMARY KEY (large_urn);
ANALYZE large_file_test;
Run Code Online (Sandbox Code Playgroud)
所以我实际上是在尝试将3个单独的文件加载到我创建的表中.问题是第1部分中似乎隐藏的字符阻止它导入Postgres.我还没有尝试过第2或第3部分.
小智 5
我发现在MAC -El Capitan中解决这个问题的最简单方法是:
1)使用Sublime Text打开文件
2)在菜单中重新打开带编码UTF8的文件
3)在菜单中使用编码UTF8保存文件
Sublime"规范化"EOF行的所有行尾.
| 归档时间: |
|
| 查看次数: |
6351 次 |
| 最近记录: |