【发布时间】:2012-10-13 11:54:59
【问题描述】:
我需要使用 Postgres 和 Java 将 this file(警告:可能不安全的文件下载站点)插入到数据库中。请下载它并告诉我如何从该文件中提取数据。我尝试了复制命令。一方面,它不允许我使用 header 选项。正如您从文件中看到的那样,我必须从第 4 行开始复制数据。另一件事是分隔符。如果您在 notepad++ 中阅读该文件,您可以将它们视为正确的列,但没有分隔符。我已经尝试并面对这些挑战。请帮我获取自定义查询。或者另一种可以实现我想做的方法。谢谢!
编辑:我使用了更安全的链接来下载文件。希望它有效。
【问题讨论】:
-
尝试在此处显示文件的摘录,而不是要求每个人都去下载它。 Suuure,当有人给我一个链接时,我会下载这个随机文件,这是安全。当您使用它时,请尝试指定您的 PostgreSQL 版本,以及这个神秘的“.out”文件的来源,即产生它的原因。
-
猜测您必须为这种时髦的格式编写自己的解析器,或者 (a) 将其转换为干净的 CSV,或者 (b) 直接连接到 PostgreSQL 并插入提取的数据。 Perl、Python 等脚本语言是此类工作的不错选择。
-
你是对的..我应该把一些数据放在这里,但我不确定格式是否正确..所以我认为这可能会更好。 .out 文件是运行脚本以从 mesowest 提取天气数据的结果。我正在使用最新版本的 PostgreSQL。直接连接到 PostgreSQL 并插入数据是什么意思?
-
类似于 Python
psycopg2驱动程序或 Perl 的DBI和DBD::Pg。不过,如果它只是固定宽度的数据,那么 Chris 的建议要简单得多。至于文件 - 您正在使用需要电子邮件地址来发送链接的托管服务。没有人愿意这样做。 -
开枪!我不知道..对不起..我会重新上传并更新问题。我将查找 Perl,看看会发生什么。但是在 Java 中没有办法做到这一点吗?
标签: java postgresql copy sqlbulkcopy out