我有两个csv文件,我想使用键值(城市列)加入它们.
一个csv文件,d01.csv有这种形式,
Barcelona, 19.5, 29.5
Tarragona, 20.4, 31.5
Girona, 17.2, 32.5
Lleida, 16.5, 33.5
Vic, 17.5, 31.4
Run Code Online (Sandbox Code Playgroud)
另一个,d02.csv,具有下一个结构,
City, Data, TMax, TMin
Barcelona, 20140916, 19.9, 28.5
Tarragona, 20140916, 21.4, 30.5
Lleida, 20140916, 17.5, 32.5
Tortosa, 20140916, 20.5, 30.4
Run Code Online (Sandbox Code Playgroud)
我需要一个新的csv文件,其中一列城市出现在2个csv文件中.
City, Tmin, Tmax, Date, Tmin1, Tmax1
Barcelona, 19.5, 29.5, 20140916, 19.9, 28.5
Tarragona, 20.4, 31.5, 20140916, 21.4, 30.5
Girona, 17.2, 32.5, 20140916, 17.5, 32.5
Lleida, 16.5, 33.5, 20140916, 20.5, 30.4
Run Code Online (Sandbox Code Playgroud)
我试着这样做
join -j 2 -t ',' d01.csv d02.csv | awk -F …Run Code Online (Sandbox Code Playgroud) 我想将列从2到13(最后一个)从整数转换为数字.
对于一列,我使用以下代码:
dades$V3 <- as.numeric(dades$V3)
Run Code Online (Sandbox Code Playgroud)
我想用相同的命令将列从2转换为13.我创建了这个向量:
dades<-2:13
Run Code Online (Sandbox Code Playgroud)
然后,我该如何使用lapply?
当我尝试从csv中删除^ M时,我遇到了问题
当我输入vim或vi file.csv时,我得到了
A, TK,2015-04-06,14.4^M,14.7,10.0,0.0,54.0^M,13.3^M,135.0^M,33.8
B, NV,2015-04-06,14.4^M,14.7,5.4,0.0,47.0^M,14.8^M,97.0^M,31.3
Run Code Online (Sandbox Code Playgroud)
我试过了
tr -d '^M' < file.csv > file2.csv
Run Code Online (Sandbox Code Playgroud)
但它也没有删除,也与sed.
我尝试安装一些编译器.我在笔记本电脑中使用Centos 6.我已经安装了gcc,即"GNU"C编译器.我还需要安装gfortran,但是当我输入时yum install gfortran,我收到了消息no package gfortran available.
你知道如何安装fortran编译器吗?
我想用perl计算文件夹内的文件数.使用以下代码我可以列出它们,但我不知道如何在perl中计算它们.有帮助吗?
$dir = "/home/Enric/gfs-0.5.2016061400";
opendir(DIR, "$dir");
@FILES = grep { /gfs./ } readdir(DIR);
foreach $file (@FILES) {
print $file, "\n";
}
closedir(DIR);
Run Code Online (Sandbox Code Playgroud) 我正在用 python 做我的第一步。我尝试创建一个日期为 YYYYMMDDHH 格式的文件夹
例如,今天,20170225HH,如果实际小时在 00h-12h 之间,HH 应该是 00,如果实际小时在 12h-24h 之间,则 HH 应该是 12。
使用以下代码,我创建了 folfer,但在 10:00 没有得到 00,我得到了 12:00?? 有什么帮助吗?我创建了一个名为 2017022512 的文件夹,我需要 2017022500 在 10:00 ...谢谢
#! usr/bin/python
import datetime
import time
import os
today=time.strftime('%Y%m%d')
hour=time.strftime('%h')
if(hour<12): h = "00"
else: h ="12"
os.system("mkdir /home/xxx/"+str(today)+""+str(h)+"")
Run Code Online (Sandbox Code Playgroud) 我需要删除括号及其内的所有字母,包括符号 '. 例如:
滨海阿梅特拉 (L') 至 滨海阿梅特拉
我用过 sed 没有成功。
如何使用Perl删除字符串的最后六个字符?在我的情况下,我需要删除:00:00
例如
goes_2017-05-14_00:00:00
Run Code Online (Sandbox Code Playgroud)
要得到
goes_2017-05-14_
Run Code Online (Sandbox Code Playgroud) 如何用Perl进行两次替换?
我使用以下代码.我使用两次s替换...我希望所有的线条更少...
(my $newName = $grib) =~ s/:00:00.grb//;
rename $grib, $newName;
(my $newName1 = $newName) =~ s/d01/d02/g;
rename $newName, $newName1;
Run Code Online (Sandbox Code Playgroud) 如果文件$grib不存在,我想重复以下命令,直到它存在.引入循环以重复检查文件是否存在的最佳方法是什么.
$grib = "model.grb";
if ( -e $grib ) {
print "File $grib exists";
}
else {
print "without file $grib";
}
Run Code Online (Sandbox Code Playgroud)