小编moa*_*eep的帖子

循环遍历perl中的哈希

我现在正在学习perl并且有一个简短的脚本,我在其中访问一个数据库(DBI模块)来提取一些统计信息.下面发布的代码似乎有点重复,我想知道它是否可以简化为哈希循环.每个数据库查询的唯一区别是myo_maps_study中的正则表达式

#Get the number of myo stress studies
$sth = $dbh->prepare("SELECT count(myo_maps_study) FROM myo WHERE myo_maps_study ~ 'MYO[0-9]*\$' AND myo_date <= ? AND myo_date >= ?");
$sth->execute($date_stop,$date_start) or die "Couldn't execute myo stress query" . $sth->errstr;
my $n_myo_stress = $sth->fetchrow_array;

#Get the number of myo redistribution studies
$sth = $dbh->prepare("SELECT count(myo_maps_study) FROM myo WHERE myo_maps_study ~ 'MYO[0-9]*R\$' AND myo_date <= ? AND myo_date >= ?");
$sth->execute($date_stop,$date_start) or die "Couldn't execute myo rep query" . $sth->errstr;
my $n_myo_rep = $sth->fetchrow_array;

#Stress …
Run Code Online (Sandbox Code Playgroud)

perl

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

如何使用Perl推入数组数组?

下面是一段Perl代码.我想循环使用不同的正则表达式($myo)和不同的运算符($op)的几个查询,并将结果保存到数组数组而不是一个大@result数组.

即,结果为数组MYO[0-9]*$将是各运营商的阵列$results[0][0],$results[0][1]和... ... MYO[0-9]*R$,$results[1][0],$results[1][1].

有任何想法吗?

my @tech_ops =  ("AR","DB","GM","LW","MM","SA");
  my @results;

    for my $myo (qw(MYO[0-9]*$ MYO[0-9]*R$ MYO[0-9]*T$ MYO[0-9]*U$)) {
      foreach $op (@tech_ops)
        {
           $sth->execute($myo, $date_stop, $date_start,$op) 
         or die "Couldn't execute query for $myo: " . $sth->errstr;
           push @results, $sth->fetchrow_array;
         }
    }
Run Code Online (Sandbox Code Playgroud)

perl

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

将/etc/yum.repos.d/*复制到所有计算机上的同一目录,而无需重复键入root密码

我想规范化我们小网络上所有计算机的yum.repo文件,即

sudo scp /etc/yum.repos.d/* $HOSTNAME:/etc/yum.repos.d/
Run Code Online (Sandbox Code Playgroud)

我可以很容易地遍历所有主机名并执行命令进行复制,但是每次都提示我输入root密码,这会变得很烦人.我怎样才能用bash或perl编写脚本,这样我只需要输入一次root命令?

linux bash perl

0
推荐指数
1
解决办法
203
查看次数

ggplot2叠加散点图

我有一个格式的文本文件

Date,ufov_mean,ufov_stdev,ufov_cov,ufov_int_pl,ufov_int_min,ufov_diff,ufov_nema_int,ufov_nema_dif,cfov_mean,cfov_stdev,cfov_cov,cfov_int_pl,cfov_int_min,cfov_diff,cfov_nema_int,cfov_nema_dif
24/01/11,5187.10,110.10,2.12,8.48,-6.46,7.25,7.40,3.76,5177.55,104.03,2.01,8.68,-6.29,7.25,7.40,3.76                
26/01/11,5182.35,106.65,2.06,6.50,-6.36,7.87,6.42,4.09,5170.29,100.45,1.94,6.45,-5.42,7.54,5.91,3.92                
28/01/11,5183.88,104.99,2.03,7.31,-6.48,9.63,6.87,5.06,5178.99,101.03,1.95,6.16,-6.39,9.08,6.28,4.76                
31/01/11,5183.55,98.35,1.90,5.66,-6.30,7.92,6.00,4.12,5172.41,96.00,1.86,5.71,-5.81,7.92,5.76,4.12                
02/02/11,5183.16,104.20,2.01,6.83,-6.43,7.47,6.61,3.88,5176.24,98.74,1.91,6.06,-5.65,7.47,5.84,3.88                
03/02/11,5184.14,106.77,2.06,8.16,-5.98,7.89,6.99,4.11,5179.31,100.62,1.94,7.45,-5.89,7.89,6.62,4.11 
Run Code Online (Sandbox Code Playgroud)

我想要做的是在给定日期范围内的散点图中绘制其中几个参数.我可以使用它来绘制其中一个

qc<-data.frame(read.csv("tc_h1_qc", header=T))
qc$Date = as.Date(qc$Date, format='%d/%m/%y')
Sys.Date()
Sys.Date()-30

p <- ggplot(qc,aes(x=Date,y=cfov_cov)) + geom_point(shape=1,colour="red") + geom_line(colour="red") + theme_bw() + scale_x_date(labels = date_format("%d/%m/%y"), limits = c(Sys.Date()-30, Sys.Date()))
Run Code Online (Sandbox Code Playgroud)

如何覆盖其他参数,每个参数都有不同的geom_point颜色,并创建一个合适的图例(类似于http://docs.ggplot2.org/0.9.3/facet_grid-27.png样式的图例,虽然我看不到我如何使用facets与我的数据框架结构)?

r ggplot2

0
推荐指数
1
解决办法
5009
查看次数

Chomp将我的字符串更改为1

在我的代码中,我将一个变量光盘分配给disc我的linux系统上的命令结果.这输出字符串RESEARCH

my $disc = `disc`;
print "$disc\n";
$disc = chomp($disc);
print "$disc\n";
Run Code Online (Sandbox Code Playgroud)

但是,当我使用chomp从字符串中去除换行符时,它将字符串更改为1.这是输出

RESEARCH

1
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?

perl chomp

0
推荐指数
1
解决办法
999
查看次数

Perl将字符串识别为标量变量

我有名为$A_cine,等的整数标量变量$B_cine.

我也有一个子程序display这需要一个参数'A','B','C',等.

$letter = $_[0]在子程序中分配.我现在想要获取$A_cine或的值,$B_cine并将其分配给新的标量变量$cine.

我已经尝试过$cine = '$'.$view."_cine",这可以识别$cine为字符串$A_cine(它应该).但是,有没有办法解释$A_cine所以我可以得到$A_cine之前定义的标量的数值?

perl

0
推荐指数
2
解决办法
85
查看次数

这些正则表达式之间有什么区别 - perl

我在文件image1.hd中有一行文字

axial rotation:=0.880157
Run Code Online (Sandbox Code Playgroud)

我想要这个号码.使用核心perl我这样做

open FILE, "<", "$Z_DIR/image1.hd" or die $!;
  while (<FILE>){
    if (/axial rotation:=(\S+)/)
      {
    $axial_rot = $1;
      }
  }
  close FILE;
Run Code Online (Sandbox Code Playgroud)

返回所需的输出= 0.880157

我更喜欢一个班轮,因为我会做一些类似于其他一些文件.之前我了解了File :: Slurp模块,我尝试了以下内容,并在断言后面进行了正面观察

my $axial_rot = read_file("$Z_DIR/image1.hd") =~ /(?<=axial rotation:=)\S+/
Run Code Online (Sandbox Code Playgroud)

这将返回1 - 无论正则表达式如何.如何更改后一个正则表达式以实现所需的输出

perl

0
推荐指数
1
解决办法
71
查看次数

Python从另一个文件加载类

我有一个NeoprobeApp.py调用拟合函数的python脚本Parameter.py Parameter.py如下所示

from scipy import optimize
import numpy as np

class Parameter:
    def __init__(self, value):
            self.value = value

    def set(self, value):
            self.value = value

    def __call__(self):
            return self.value

def fit(function, parameters, y, x = None):
    def f(params):
        i = 0
        for p in parameters:
            p.set(params[i])
            i += 1
        return y - function(x)

    if x is None: x = arange(y.shape[0])
    p = [param() for param in parameters]
    optimize.leastsq(f, p)
Run Code Online (Sandbox Code Playgroud)

我成功导入了fit函数from Parameter import fit.但是,当我尝试初始化我的参数时

# Define …
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
91
查看次数

返回列表中的字典,其中字典键等于值

我有一个数据库表,其中包含要合并的数以千计的近似重复项。我psycopg2.extras用来执行查询并最终在字典列表中获得结果。

dict_cur = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)
query = """SELECT DISTINCT pat_uid, pat_first_name, pat_last_name, pat_dob_dt, pat_chi_no,
       pat_addr, wtg_uid, wtg_pat_uid, std_uid, std_pat_uid, work_uid, work_pat_uid
       from ((patients left outer join waiting 
       on (pat_uid = wtg_pat_uid)) left outer join studies 
       on (std_pat_uid = pat_uid) left outer join worklist
       on (work_pat_uid = pat_uid)) 
       where (pat_first_name, pat_last_name, pat_chi_no)
       in (SELECT pat_first_name, pat_last_name, pat_chi_no from patients 
       group by pat_first_name, pat_last_name, pat_chi_no
       HAVING count(*) >= 2) AND
       pat_chi_no ~ '^[0-9]{10,10}\$'
       order by pat_last_name asc, pat_first_name asc,
       pat_dob_dt asc""" …
Run Code Online (Sandbox Code Playgroud)

python psycopg2

0
推荐指数
1
解决办法
2563
查看次数

标签 统计

perl ×6

python ×2

bash ×1

chomp ×1

ggplot2 ×1

linux ×1

psycopg2 ×1

r ×1