小编Jim*_*Jim的帖子

使用python中的java库

我有一个python应用程序和Java应用程序.python应用程序为java应用程序生成输入并在命令行上调用它.

我相信必须有一个更优雅的解决方案; 就像使用JNI从Java调用C代码一样.

有什么指针吗?(仅供参考,我是Python的新手)

澄清(以长期问题为代价:道歉)py app(我不拥有)以多个配置文件的形式获取用户输入.然后它通过插件机制将这些和农场工作转移到许多(隐藏的)工具上.我希望添加对旧版Java应用程序提供的功能的支持.

因此从java应用程序调用python应用程序是没有意义的,我无法在jython环境(在JVM上)上运行py app.

由于没有明显的机制,我认为简单的CL调用是最好的解决方案.

python java jython

31
推荐指数
4
解决办法
5万
查看次数

使用Perl读取Linux(和Windows)上的密码保护XLSX

我正在尝试编写一个简单的perl脚本,它从受密码保护的XSLX文件中读取一些字段.

我看过Spreadsheet :: XLSXSimpleXlsx,但似乎都不支持受密码保护的文件.

知道如何做到这一点?

使用Win32 :: OLE这样做是这样的:

my $Book =
  $Excel->Workbooks->Open( { FileName => $file, Password => $password } );
Run Code Online (Sandbox Code Playgroud)

linux excel perl

5
推荐指数
1
解决办法
3941
查看次数

创建一个使用PSQL作为另一个表的克隆但不包括列的表

短版本: 我应该使用什么psql命令来创建临时表,它是给定表的克隆,不包括给定列?

create temp table bar_temp as <columns from foo.bar excluding 'insert_date'>
Run Code Online (Sandbox Code Playgroud)

推理: 我有一些非常大的CSV文件,我想批量上传到Postges DB(目前8.4 - 迁移到9.x).

上传这些CSV文件时,我想添加一个额外的字段,例如"日期"字段.

使用这篇文章作为灵感:( 如何使用Postgres中的CSV文件中的值更新所选行?)我正在尝试执行以下操作:

  1. 从目标表的模式创建临时表,不包括"日期"列.
  2. 运行'\ COPY'命令上传到临时表.
  3. 使用临时表中的条目+附加日期列条目更新目标表中的条目.

除了步骤1之外,这一切都是直截了当的.如果事先知道列名,则可以对该行进行硬编码.在我的例子中,我有许多类似的输入文件和相应的表,并希望解决方案能够灵活地处理模式的变化.

我的hacky解决方案是使用预处理脚本来确定临时表模式,然后在运行之前将该CREATE命令写入SQL脚本,例如:

"SELECT 'SELECT ' || array_to_string(ARRAY(SELECT 'o' || '.' || c.column_name FROM information_schema.columns As c WHERE table_name = '$table' AND c.column_name NOT IN('dt')), ',') || ' FROM $schema.$table As o'"

这给了我类似的东西

SELECT o.name,o.address from foo.bar As o

然后可以在create语句中使用它

create temp table temp_tbl as SELECT o.name,o.address from foo.bar As o

但是我认为应该在PSQL脚本本身内完成这个模式发现步骤.我看过使用"EXEC",但据我所知,我需要把它放在一个函数中,返回类型需要列出表列!

有什么建议?

sql postgresql psql

4
推荐指数
1
解决办法
1467
查看次数

标签 统计

excel ×1

java ×1

jython ×1

linux ×1

perl ×1

postgresql ×1

psql ×1

python ×1

sql ×1