#!/usr/bin/perl -w
use strict;
use warnings;
use Tie::File;

open(IN_FILE,"<E:/Hzj_works/test1.csv");

my $filename = "E:/Hzj_works/test1.csv";
tie my @array, 'Tie::File', $filename or die "$!";

if ( @array ) {
print "$filename have file. \n";
open(my $OT_FILE,">E:/Hzj_works/test2.csv");
while(my $line = <IN_FILE>){
my @fields = split "," , $line;
my @table;
my $tag1 = ",";
push(@table,"$fields[0]$tag1");

#if $fields[1]
my @timetemp = split ":" , $fields[1];
my $len = length($timetemp[0]);
my $hour;
my $min;
my $zero = "0"; #补0
if($len == 1){
$hour = "$zero$timetemp[0]";
}else{
$hour = $timetemp[0];
}
my $mint = substr($timetemp[1],0,1);
$min = "$mint$zero";
my $newtime = "$hour$mint$zero"; #变换后的时间
push(@table,"$newtime$tag1");

#假定 $fields[2]
my $mini = substr($fields[2],14,2); #获取分钟
my $minite = 30;#用于跟获取的时间比较
my $time1;
if($mini <= $minite){
my $mini1 = substr($fields[2],0,14);
my $mini2 = "30:00";
$time1 = "$mini1$mini2";
}else{
my $mini1 = substr($fields[2],0,14);
my $mini2 = "00:00";
#小时加1
my $hour1 = substr($fields[2],11,2);
my $hour2 = $hour1 + 1;
my $hour3 = substr($fields[2],0,11);
if($hour2 == 24){
$hour2 = "00";
}
my $tag = ":";
$time1 = "$hour3$hour2$tag$mini2";
}

push(@table, "$time1$tag1", "$fields[3]$tag1", $fields[4]);
print @table;
print $OT_FILE $_ for @table;
}
}
else {
print "$filename is empty. \n";
exit;
}

close(IN_FILE);

(个人)读取A.CSV修改它的某列,写入B.CSV的更多相关文章

  1. C# mvc读取模板并修改上传到web

    C# mvc读取模板并修改上传到web 后台: public FileResult GetXls() { FileStream fs = new FileStream(System.Web.HttpC ...

  2. 在CSV文件中增加一列属性值

    具体参见:系统管理\将文件夹复制到列表中的远程主机   修改前: column1, column2 1,b 2,c 3,5   修改后: column1, column2, column3 1,b, ...

  3. C# CSV文件的导入导出以及datatable转化csv

    1.csv文件写入操作 首先,创建datatable对象: DataTable dt = new DataTable(); 添加列: dt.Columns.Add("name", ...

  4. 使用sql语句创建修改SQL Server标识列(即自动增长列)

    一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统 ...

  5. IO流的练习5 —— 读取文件中的字符串,排序后写入另一文件中

    需求:已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl” 请编写程序读取数据内容,把数据排序后写入ss.txt中. 分析: A:读取文件中的数据 B:把数 ...

  6. Easyui Datagrid 修改显示行号列宽度

    EasyUI中Datagrid的第一列显示行号,可是如果数据量大的的时候,显示行号的那一列数据会显示不完全的. 可以通过修改Datagrid的样式来解决这个问题,在样式中加入下面这个样式,就可以自己修 ...

  7. 备忘:MySQL中修改表中某列的数据类型、删除外键约束

    -- MySQL中修改表中某列的数据类型 ALTER TABLE [COLUMN] 表名 MODIFY 列名 列定义; -- 删除外键约束 SHOW CREATE TABLE 表名; -- 复制CON ...

  8. JAVA之旅(二十七)——字节流的缓冲区,拷贝mp3,自定义字节流缓冲区,读取键盘录入,转换流InputStreamReader,写入转换流,流操作的规律

    JAVA之旅(二十七)--字节流的缓冲区,拷贝mp3,自定义字节流缓冲区,读取键盘录入,转换流InputStreamReader,写入转换流,流操作的规律 我们继续来聊聊I/O 一.字节流的缓冲区 这 ...

  9. UiPath工具取得网页上面的数据,写入到csv,Outlook邮件发送

    问题描述: 想取得网页上面的股票价格,之后写入到csv文本里面之后添加附件发送邮件. 解决方法: 利用UIPath工具来取得数据,之后写入再发送. 具体步骤: 1.打开网页,之后找到所显示的股票行情的 ...

随机推荐

  1. Android标签云控件:TagCloudLinkView

    可以完成添加.删除.选择操作的标签控件,可以自定样式(颜色等),可删除的标签末尾带有'×'符号.和Android-Cloud-TagView-Plus(见正文相关代码)类似. 1.layout in ...

  2. 解决MyEclipse吃内存以及卡死的方法

    前言:MyEclipse5.5 大小 139M:MyEclipse6.5 大小 451M:MyEclipse7.0 大小 649M!下载服务器又是国外的...下载速度累人也就罢了,只要你工作性能一流. ...

  3. 给JBoss种蛊分析

    JBoss又发现漏洞了,安全圈儿为之一紧. 知道创宇安全研究团队再次本着科普的情怀收集跟JBoss安全相关的材料,为安全行业再出一把力. 这里先给JBoss正下名.通常所说的JBoss,全称是JBos ...

  4. Python模块(radom)

    radom radom模块提供了随机生成对象的方法 Help on module random: NAME random - Random variable generators. FILE /usr ...

  5. bind: address already in use

    2016/04/18 09:46:06 server.go:36: listen at 0.0.0.0:9530 2016/04/18 09:46:06 server.go:39: listen er ...

  6. openvpn构建

    openvpn构建1. 检测是否支持tun/tap cat /dev/net/tun cat: /dev/net/tun: File descriptor in bad state ##这代表支持 2 ...

  7. docker offical docs:Working with Docker Images

    Working with Docker Images ##orignal is always the best In the introduction we've discovered that Do ...

  8. Java Axis2 1.6.3+JDK1.7.0_13+Tomcat7.0.65+eclipse搭建web service

    安装文件下载: jdk1.7.0_13 安装步骤参考文章:http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html tomcat7. ...

  9. python入门到精通[一]:搭建开发环境

    摘要:Python认识,及在windows和linux上安装环境,测试是否安装成功. 1.写在前面 参加工作也有5年多了,一直在做.net开发,近一年有做NodeJS开发.从一开始的不习惯,到逐步适应 ...

  10. Keepalived 安装与配置

    下载:http://www.keepalived.org/ what is keepalived? Keepalived is a routing software written in C. The ...