如何在PostgreSQL中转义管道字符(';';)
因此,我尝试将一系列管道分隔文件导入PgAdmin III(使用PostgreSQL 9.5 DB) 我最终得到了一个错误:如何在PostgreSQL中转义管道字符(';';),postgresql,import,special-characters,postgresql-9.5,Postgresql,Import,Special Characters,Postgresql 9.5,因此,我尝试将一系列管道分隔文件导入PgAdmin III(使用PostgreSQL 9.5 DB) 我最终得到了一个错误: ERROR: extra data after last expected column SQL state: 22P04 基本上,这行有25列,其中应该有17列。。。为什么?我发现在几个字段中有管道(“|”)字符 我正在使用以下命令导入: START TRANSACTION; copy drugs FROM 'path/to/source_file.rrf' (DEL
ERROR: extra data after last expected column
SQL state: 22P04
基本上,这行有25列,其中应该有17列。。。为什么?我发现在几个字段中有管道(“|”)字符
我正在使用以下命令导入:
START TRANSACTION;
copy drugs FROM 'path/to/source_file.rrf' (DELIMITER '|', FORMAT TEXT);
COMMIT;
我指的是词汇结构,虽然我可能做错了
我已经尝试用“/|”和“//|”替换字段中的管道字符,但到目前为止,这两个字符都会产生与上述相同的错误消息
非常感谢,如果您需要更多信息,请告诉我 您需要引用整个列的值,才能将分隔符用作字段数据的一部分。例如:
filed_one|field_two|with_a_delimiter_inside|field_three
应该转化为
filed_one|"field_two|with_a_delimiter_inside"|field_three
或
另一个选项是使用反斜杠转义分隔符字符。例如:
filed_one|field_two\|with_a_delimiter_inside|field_three
你可以在中找到详细信息。你能给我们展示一些“坏”数据的例子吗?这是一个示例字段:
VX-703是一种抗细胞因子疗法,其中p38 MAP激酶抑制剂有效抑制LPS刺激的TNF |[alpha]|、IL-6和IL-1 |[beta]|产生。
你的最后一个答案,加上一个“\”就行了。我发现我的Python代码两次意外地与“\\\”匹配,而不是将其设置为“\\\\”,而是将其设置为“\\\\”。非常感谢!
filed_one|field_two\|with_a_delimiter_inside|field_three