如何将字符串转换为时间戳?
我找到的文档和所有答案都显示了如何使用 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) 有时我会被非常基本的事情咬伤。我记得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)
我知道,如何修复我的脚本(使用正则表达式模式),但我仍然不知道,使用模式作为字符串 ( '.') 与使用正则表达式 ( /./) 有什么区别?
我想只解析标题名称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 …
输入命令后
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) 有人可以帮助我了解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
我正在尝试根据一些输入在 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具有增量索引?
我在 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) 我正在努力寻找过滤散列数组的正确方法,删除与过滤条件匹配的条目,同时返回这些已删除的散列。这是一个例子,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 都已处理完毕并且有原始数组中没有任何剩余。
我有一个名为的文本文件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) 我用来pandas操作数据帧并将logging中间结果以及警告和错误记录到单独的日志文件中。我还需要将一些中间数据帧打印到同一个日志文件中。具体来说,我想:
logging(以确保更轻松的调试并避免写入许多中间文件,就像调用to_csv文件目标的情况一样),logging使用level控制日志记录的详细程度(通常是这样做的),例如DEBUG或INFO,与其他日志记录消息(包括那些与数据帧无关的消息)的详细程度共享。240102 10:58:20 INFO:.我能想到的最好的是下面的代码,这有点太冗长了。有没有一种更简单、更Pythonic的方法来记录数据帧切片?
\n笔记:
\n请附上使用示例。
\n例子:
\nimport 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)