小编Tim*_*and的帖子

Postgresql 中的字符串到时间戳

问题

如何将字符串转换为时间戳?

我找到的文档和所有答案都显示了如何使用 to_timestamp 函数将字符串列转换为时间戳,但这显然不适用于单个字符串。

我尝试过的

to_timestamp('2019-09-20 13:59', 'DD-MM-YYYY HH24:MI:SS')

Cast('2019-09-20 13:59' as timestamp)
Run Code Online (Sandbox Code Playgroud)

我想做的事

我想向表中添加一列,并以此日期作为重复值。

-- Creating timestamp column
ALTER TABLE my_table ADD creation_date timestamp

-- Repeating timestamp 
UPDATE my_table  SET creation_date = TO_TIMESTAMP('2019-09-20 13:59', 'YYYY-MM-DD HH24:MI')
Run Code Online (Sandbox Code Playgroud)

sql string postgresql timestamp

3
推荐指数
1
解决办法
6862
查看次数

使用带有斜杠 // 或引号 ''|"" 的拆分模式有什么区别?

有时我会被非常基本的事情咬伤。我记得split基于PATTERN用作字符串或正则表达式有不同的行为。现在阅读文档似乎没有这样的区别,在整个文档中,只有一种情况(awk-like 行为),其中模式以带引号的字符串形式呈现,在其他所有示例中,模式都在斜杠之间,作为正则表达式。尽管如此,我还是在这里那里找到了示例/教程,例如,哪里提到了基于字符、字符串和模式的拆分的区别。尽管如此,在测试中,除了在斜杠上拆分使用引号 ( split '/', $some_string)更好之外,我没有发现更多差异。

我今天的具体问题是在点上拆分文件名.并期望在字符串模式上拆分。令我惊讶的'.'是,该模式仍被视为正则表达式,因此以下脚本无法实现此目的:

use strict; use warnings; use 5.010;

my ( @x ) = split '.', 'dir/some_file.ext';
say "@x";
Run Code Online (Sandbox Code Playgroud)

我知道,如何修复我的脚本(使用正则表达式模式),但我仍然不知道,使用模式作为字符串 ( '.') 与使用正则表达式 ( /./) 有什么区别?

regex string perl split

3
推荐指数
1
解决办法
116
查看次数

可以在 perl 中使用 map 的 next 吗?

我想只解析标题名称main.c

#include "foo.h"
#include "bar.h"
#include <stdio.h>

int add(int a,int b){ return a+b; }
int sub(int a, int b){ return a-b; }

int main(){
    printf("%i\n",add(1,2));
}
Run Code Online (Sandbox Code Playgroud)

所以我的 perl 脚本如下所示:

#!/usr/bin/perl 
open MAIN, $ARGV[0];

@ar = map { /#include "([^"]+)"/ ? $1 : next } <MAIN>;

#this one works (next inside for-loop, not map-loop)
for(<MAIN>){
    if(/#include "([^"]+)"/){
        push @ar2, $1;
    } else {
        next;
    }
}

print "@ar\n";
print "@ar2\n";
Run Code Online (Sandbox Code Playgroud)

给出错误:

Can't "next" outside a loop block 
Run Code Online (Sandbox Code Playgroud)

那么有next …

arrays perl loops map-function

3
推荐指数
1
解决办法
85
查看次数

警告:远程主机标识已更改 (1)

输入命令后

ssh -p 8101 karaf@docker-ip onos1
Run Code Online (Sandbox Code Playgroud)

我收到错误

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:rV+69MOdHKanIvP41a9Xspug6am7/BV7CHVjhxxxxx.

Please contact your system administrator.
Add correct host key in `/home/pranav/.ssh/known_hosts` to get rid of this message.
Offending RSA …
Run Code Online (Sandbox Code Playgroud)

localhost rsa-key-fingerprint

2
推荐指数
1
解决办法
9366
查看次数

Postgres regr_slope 返回 NULL

有人可以帮助我了解regr_slope在数据集中有行的情况下返回 NULL的情况吗?例如:

log=> select * from sb1 order by id, ts;
  id  | elapsed |       ts       
------+---------+----------------
 317e |      86 | 1552861322.627
 317e |      58 | 1552861324.747
 317e |      52 | 1552861325.722
 317e |      58 | 1552861326.647
 317e |      82 | 1552861327.609
 317e |     118 | 1552861328.514
 317e |      58 | 1552861329.336
 317e |      58 | 1552861330.317
 317e |      54 | 1552861330.935
 3441 |      68 | 1552861324.765
 3441 |      84 | 1552861326.665
 3441 |      56 | 1552861327.627
 3441 …
Run Code Online (Sandbox Code Playgroud)

postgresql rounding aggregate-functions linear-regression sql-null

2
推荐指数
1
解决办法
771
查看次数

perl 中的自动生成替换

我正在尝试根据一些输入在 perl 中自动生成一个正则表达式模式,以处理通过在 Makefile 中粘贴令牌创建的各种变量......因此,例如,我可能有一个模式,例如:

foo_1_$(AB)_$(CB)
Run Code Online (Sandbox Code Playgroud)

鉴于这种模式,我需要创建一个正则表达式,将所有实例转换foo_1_\$(\w+)_\$(\w+)bar_1_\$($1)_\$($2). 我遇到的主要问题是模式的“to”端——我$每次都需要增加数字引用——注意在任何给定模式中可能有可变数量的标记。

所以......我在想这样的事情:

foreach $pattern (@patterns) {
    my $from = $pattern;
    # foo_1_$(AB)_$(CD)
    $from =~ s/\$\(\w+\)/\$\(\\w\\\+\)/g;
    # foo_1_$(\w+)_$(\w+)

    my $to = $pattern =~ s/foo/bar/r;
    # bar_1_$(AB)_$(CD);
    $to =~ s/\$\(\w+\)/\\\$\(\$?)/g; #???
    # bar_1_\$($1)_\$($2)
    #           ^      ^

    #this next part is done outside of this loop, but for the example code:
    $line ~= s/\Q$from\E/$to/; 
 }
Run Code Online (Sandbox Code Playgroud)

如何使我的每个后续替换to具有增量索引?

regex perl templates

2
推荐指数
1
解决办法
86
查看次数

Perl - 如何使用 Ping 检查服务器是否在线?

我在 Linux 上使用 Perl 5,版本 30。我想检查服务器是否处于活动状态,我只对 ping 调用返回 true 或 false 感兴趣。这是我的(非工作)代码:

#!/usr/bin/perl
use strict;
use warnings;

use Net::Ping;
my $pinger = Net::Ping->new();
if ($pinger->ping('google.com')) {
   print 'alive\n';
} else {
   print 'dead\n';
}
Run Code Online (Sandbox Code Playgroud)

代码应该可以工作(我认为)。但它每次都失败(返回“死”)每台服务器。如果我作为 sudo: 执行它也会失败sudo perl pingcheck.pl。(编辑:我不能使用 sudo在实践中。我只是为了排除故障而尝试它。)

我确实Net::Ping安装了:

$ cpan -l | grep Net::Ping
Net::Ping       2.71
Run Code Online (Sandbox Code Playgroud)

Perl 没有错误消息。

如果我在 bash 中做同样的事情,ping 会按预期工作:

$ ping -c 3 google.com
PING google.com (64.233.178.100) 56(84) bytes of data.
64 bytes from ol-in-f100.1e100.net (64.233.178.100): …
Run Code Online (Sandbox Code Playgroud)

connection perl port tcp ping

2
推荐指数
1
解决办法
533
查看次数

从散列数组中过滤值并从原始数组中删除它们

我正在努力寻找过滤散列数组的正确方法,删除与过滤条件匹配的条目,同时返回这些已删除的散列。这是一个例子,magic_function!它完成了我想要实现的目标:

my_array = [{ id: 1, val: 'foo' }, { id: 2, val: 'bar' }, { id: 3, val: 'baz' }]

extracted_hashes = my_array.magic_function! { |hash| hash[:id] == 1 }
# [{ id: 1, val: 'foo' }]

my_array
# [{ id: 2, val: 'bar' }, { id: 3, val: 'baz' }]

Run Code Online (Sandbox Code Playgroud)

我尝试这样做的原因是因为该数组是一个庞大的数据库行集合,我需要使用另一个 ID 数组中的值来处理它们。(不幸的是,该部分无法更改,限制来自数据库的行会更有效率)

使用Array.filter允许我获取正确的哈希值,但每次都在数组的整个长度上进行迭代。由于我不需要已经处理过的散列,我假设从原始数组中删除它们会使它变得越来越小,从而减少过滤下一个 ID 所需的迭代量,直到所有 ID 都已处理完毕并且有原始数组中没有任何剩余。

ruby arrays hash select

2
推荐指数
1
解决办法
70
查看次数

如何使用Python使用fasta之类的标头将字符串序列格式化为预定长度

我有一个名为的文本文件input.txt,看起来像这样。

A C H E C Q D S S C H H C R Q K L E D T S C H L E D V G K M
N T Y H C G E G I N N G P N A S C K F M L P C V V A E F E N H T
E T D W R C K L E A E H C D C …
Run Code Online (Sandbox Code Playgroud)

python string bioinformatics python-3.x

2
推荐指数
1
解决办法
64
查看次数

使用日志记录和 pandas 记录数据帧

我用来pandas操作数据帧并将logging中间结果以及警告和错误记录到单独的日志文件中。我还需要将一些中间数据帧打印到同一个日志文件中。具体来说,我想:

\n
    \n
  • 将数据帧打印到与其余消息相同的日志文件中logging以确保更轻松的调试并避免写入许多中间文件,就像调用to_csv文件目标的情况一样),
  • \n
  • logging使用level控制日志记录的详细程度(通常是这样做的),例如DEBUGINFO,与其他日志记录消息(包括那些与数据帧无关的消息)的详细程度共享。
  • \n
  • 使用单独的变量来控制日志记录的详细程度(在更精细的级别上),该变量确定要打印的数据帧的行数。
  • \n
  • 每行打印 1 行,列对齐,并且每行前面都有典型的日志记录元数据,例如240102 10:58:20 INFO:.
  • \n
\n

我能想到的最好的是下面的代码,这有点太冗长了。有没有一种更简单、更Pythonic的方法来记录数据帧切片?

\n

笔记:

\n

请附上使用示例。

\n

例子:

\n
import io\nimport logging\nimport pandas as pd\n\n# Print into log this many lines of several intermediate dataframes,\n# set to 20 or so:\nMAX_NUM_DF_LOG_LINES = 4\n\nlogging.basicConfig(\n    datefmt = \'%y%m%d %H:%M:%S\',\n    format = \'%(asctime)s %(levelname)s: %(message)s\')\nlogger = …
Run Code Online (Sandbox Code Playgroud)

python logging pretty-print dataframe pandas

2
推荐指数
1
解决办法
401
查看次数