【发布时间】:2019-12-17 06:00:47
【问题描述】:
我可能有一个奇怪的要求。我没有通过 Google 找到任何帮助。
我正在使用连接到 PostgreSQL 数据库的 DbVisualizer Pro 10.0.15 gui 工具。
我需要从数据库表创建一个 csv 文件。我在查询中选择我需要的记录,然后将结果导出到 .csv 文件。我可以轻松做到。
select note from notes;
highlight all results records >> right-click >> select export >> choose csv
某些记录的内容中同时包含单引号和/或双引号。
接收此文件的人需要将 csv 文件上传到另一个系统。他们声明内容中的这些单引号和双引号在他们的上传中不起作用。我被要求避开这些引用。他们希望将它们保留在内容中,但让它们出现在带有反斜杠转义字符的字段中,即:it is John's ball 将在 csv 文件中显示为:it is John\'s ball。 dbl-quotes 也是如此。
在创建 csv 文件后,我可能可以在文本编辑器中使用搜索和替换功能来做到这一点,但我想这可以通过 sql 来完成。
我尝试过使用regexp_replace() 函数。
select regexp_replace(note, '"', '\"') as notes from notes 适用于 dbl-quotes,但我对单引号没有任何运气。
帮助?有没有办法做到这一点?
【问题讨论】:
-
csv是如何上传到其他系统的?如果该人在上传期间逃脱了所有实例,您可以避免转义所有实例。例如。如果您使用 Python 的
csv库将 csv 文件写入数据库,则转义会自动完成,而无需担心手动进行。 -
谢谢,...是的,我们尝试过建议。该文件被发送给我们部门/学校以外的人。该人要么不想这样做,要么不知道如何做或其他事情,所以这取决于我。我们无法控制他们如何做到这一点。
标签: postgresql csv dbvisualizer