perl读取EXCEL文件输出到XML

时间:2019-05-13 19:27:34下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《perl读取EXCEL文件输出到XML》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《perl读取EXCEL文件输出到XML》。

第一篇:perl读取EXCEL文件输出到XML

#!/usr/bin/perl use strict;

use warnings;

use Spreadsheet::ParseExcel;use XML::Writer;use utf8;binmode(STDIN, ':encoding(utf8)');binmode(STDOUT, ':encoding(utf8)');binmode(STDERR, ':encoding(utf8)');#接收参数--文件名 my $file = $ARGV[0];my $book = Spreadsheet::ParseExcel::Workbook->Parse($file);my @sheets = @{ $book->{Worksheet} };

#将文件内容放入数组ary my @ary=();

foreach my $sheet(@sheets){

my($minRow, $maxRow)= $sheet->row_range();

my($minCol, $maxCol)= $sheet->col_range();

foreach my $row($minRow..$maxRow){

foreach my $col($minCol..$maxCol){

my $cell = $sheet->get_cell($row, $col);

next unless $cell;

$ary[$row][$col] = $cell->value;

}

}

}

#开始打印XML元素 my $writer;$writer=new XML::Writer(DATA_MODE=>1,DATA_INDENT=>2);$writer->xmlDecl('UTF-8','yes');$writer->startTag('aaaa');$writer->startTag('webs');#取当前服务器时间,防止ID号重复

my($sec,$min,$hour,$day,$mon,$year,$weekday,$yeardate,$savinglightday)=(localtime(time));my $date=$year.++$mon.$day;#取出数组元素个数 my $max_row=@ary-1;my $web_id='news';foreach my $new_row(0..$max_row){

my $web_name=“”;

if(!$ary[$new_row][3]){

$writer->startTag('web','id'=>“$new_row$web_id$date”,' url'=>“$ary[$new_row][2]”,' time_interval'=>“500”);

$writer->startTag('trans');

$writer->startTag('tran','id'=>“source”);

$writer->characters($web_name);

$writer->endTag('tran');

$writer->endTag('trans');

$writer->startTag('urls');

$writer->startTag('url','id'=>“com.aaaa.bigdata.news_child_url”);

$writer->endTag('url');

$writer->endTag('urls');

$writer->endTag('web');

}

else {

my $num=$ary[$new_row][5]+1;

$writer->startTag('web','id'=>“$new_row$web_id$date”,' url'=>“$ary[$new_row][2]”,' time_interval'=>“500”);

$writer->startTag('trans');

$writer->startTag('tran','id'=>“source”);

$writer->characters($web_name);

$writer->endTag('tran');

$writer->endTag('trans');

$writer->startTag('urls');

$writer->startTag('url','id'=>“com.aaaa.bigdata.news_child_url”);

$writer->endTag('url');

$writer->endTag('urls');

$writer->startTag('events');

$writer->startTag('event','id'=>“url”,'url'=>“$ary[$new_row][3]”,'min'=>“$ary[$new_row][4]”,'max'=>“$num”);

$writer->endTag('event');

$writer->endTag('events');

$writer->endTag('web');

} } $writer->startTag('web','id'=>“aaaa1”);$writer->startTag('properties','db_ip'=>“192.168.1.11”,'db_name'=>“sssss”,'db_user'=>“root”,'db_passwd'=>“123456”,'db_table'=>'test','parser'=>“FALSE”);$writer->startTag('property','id'=>“CHECK_title”);$writer->endTag('property');$writer->startTag('property','id'=>“content”);$writer->endTag('property');$writer->startTag('property','id'=>“publish_time”);$writer->endTag('property');$writer->startTag('property','id'=>“news_url”);$writer->endTag('property');$writer->startTag('property','id'=>“crawl_datetime”);zlg_time($writer);$writer->endTag('property');$writer->endTag('properties');$writer->endTag('web');$writer->endTag('webs');$writer->endTag('aaaa');$writer->end;

sub zlg_time {

my $time='time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime())';

my $zlg_data=“

return $timen]]>”;

$writer->characters($zlg_data);} exit(0);

另加一个脚本

接收参数1输出的XML文件名、参数2输入的excel文件名

#!/bin/bash dest_sa=$1 cs=$2 perl /home/url/xls.pl $cs >> $dest_sa sed-i 's//>/g' $dest_sa

第二篇:C 文件的读取和写入

C++文件的读取和写入.txt 2010-04-08 11:12笔记:C++文件的读取和写入

#include #include #include

using namespace std;

int main(){ char buffer[256];ifstream myfile(“c:a.txt”);ofstream outfile(“c:b.txt”);

if(!myfile){ cout << “Unable to open myfile”;exit(1);// terminate with error

} if(!outfile){ cout << “Unable to open otfile”;exit(1);// terminate with error } int a,b;int i=0,j=0;int data[6][2];while(!myfile.eof()){ myfile.getline(buffer,10);sscanf(buffer,“%d %d”,&a,&b);cout<

outfile.close();return 0;}

无论读写都要包含头文件

读:从外部文件中将数据读到程序中来处理

对于程序来说,是从外部读入数据,因此定义输入流,即定义输入流对象:ifsteam infile,infile就是输入流对象。

这个对象当中存放即将从文件读入的数据流。假设有名字为myfile.txt的文件,存有两行数字数据,具体方法: int a,b;ifstream infile;infile.open(“myfile.txt”);//注意文件的路径

infile>>a>>b;//两行数据可以连续读出到变量里 infile.close()

如果是个很大的多行存储的文本型文件可以这么读:

char buf[1024];//临时保存读取出来的文件内容 string message;ifstream infile;infile.open(“myfile.js”);if(infile.is_open())//文件打开成功,说明曾经写入过东西 { while(infile.good()&&!infile.eof()){ memset(buf,0,1024);infile.getline(buf,1204);message = buf;......//这里可能对message做一些操作 cout<

写:将程序中处理后的数据写到文件当中

对程序来说是将数据写出去,即数据离开程序,因此定义输出流对象ofstream outfile,outfile就是输出流对象,这个对象用来存放将要写到文件当中的数据。具体做法: ofstream outfile;outfile.open(“myfile.bat”);//myfile.bat是存放数据的文件名 if(outfile.is_open()){ outfile<

c++对文件的读写操作的例子

/*/从键盘读入一行字符,把其中的字母依次放在磁盘文件fa2.dat中,再把它从磁盘文件读入程序,将其中的小写字母改成大写字母,再存入磁盘fa3.dat中*/ #i nclude #i nclude #i nclude using namespace std;//////////////从键盘上读取字符的函数 void read_save(){ char c[80];ofstream outfile(“f1.dat”);//以输出方工打开文件 if(!outfile){ cerr<<“open error!”<

for(int i=0;c[i]!=0;i++)//对字符一个一个的处理,直到遇到'/0'为止 if(c[i]>=65&&c[i]<=90||c[i]>=97&&c[i]<=122){//保证输入的字符是字符

outfile.put(c[i]);//将字母字符存入磁盘文件 cout<=97)ch=ch-32;outfile.put(ch);cout<

演讲稿

尊敬的老师们,同学们下午好:

我是来自10级经济学(2)班的学习委,我叫张盼盼,很荣幸有这次机会和大家一起交流担任学习委员这一职务的经验。

转眼间大学生活已经过了一年多,在这一年多的时间里,我一直担任着学习委员这一职务。回望这一年多,自己走过的路,留下的或深或浅的足迹,不仅充满了欢愉,也充满了淡淡的苦涩。一年多的工作,让我学到了很多很多,下面将自己的工作经验和大家一起分享。

学习委员是班上的一个重要职位,在我当初当上它的时候,我就在想一定不要辜负老师及同学们我的信任和支持,一定要把工作做好。要认真负责,态度踏实,要有一定的组织,领导,执行能力,并且做事情要公平,公正,公开,积极落实学校学院的具体工作。作为一名合格的学习委员,要收集学生对老师的意见和老师的教学动态。在很多情况下,老师无法和那么多学生直接打交道,很多老师也无暇顾及那么多的学生,特别是大家刚进入大学,很多人一时还不适应老师的教学模式。学习委员是老师与学生之间沟通的一个桥梁,学习委员要及时地向老师提出同学们的建议和疑问,熟悉老师对学生的基本要求。再次,学习委员在学习上要做好模范带头作用,要有优异的成绩,当同学们向我提出问题时,基本上给同学一个正确的回复。

总之,在一学年的工作之中,我懂得如何落实各项工作,如何和班委有效地分工合作,如何和同学沟通交流并且提高大家的学习积极性。当然,我的工作还存在着很多不足之处。比日:有的时候得不到同学们的响应,同学们不积极主动支持我的工作;在收集同学们对自己工作意见方面做得不够,有些事情做错了,没有周围同学的提醒,自己也没有发觉等等。最严重的一次是,我没有把英语四六级报名的时间,地点通知到位,导致我们班有4名同学错过报名的时间。这次事使我懂得了做事要脚踏实地,不能马虎。

在这次的交流会中,我希望大家可以从中吸取一些好的经验,带动本班级的学习风气,同时也相信大家在大学毕业后找到好的工作。谢谢大家!

第三篇:浙江省重.hdf5文件读取程序

浙江省重大社会活动气象保障服务实施办法(试行)

2004年7月8日

第一条 为规范我省重大社会活动气象保障服务工作,加强重大社会活动气象保障服务管理,特提出本实施办法。

第二条 重大社会活动,是指各级党委、政府领导部门组织的重大政治、社会、经济活动,重要会议以及重要军事活动等。

第三条 各市、县(区)气象局应根据本地重大社会活动气象服务的实际情况,制定本地区的重大社会活动气象保障服务方案。省局决策服务中心制订省级重大社会活动气象保障服务工作方案。

第四条 省委、省政府在杭州组织的重大社会活动气象保障服务由省局决策服务中心负责;省委、省政府在杭州以外组织的重大社会活动气象保障服务由活动所在地气象局负责,省局决策服务中心配合;各市、县(区)党委、政府在当地组织的重大社会活动气象保障服务由所在地市、县(区)气象局负责;各级地方党委、政府跨区域组织的重大社会活动气象保障服务,由活动举办地气象局协助活动举办方所辖地气象局开展。

第五条 重大社会活动期间各有关气象部门要相互配合,协同做好重大社会活动气象保障服务工作,上级气象业务部门根据下级气象部门的要求,做好重大社会活动气象保障服务的天气预报会商和业务指导;下级气象部门根据上级气象业务部门的要求,及时提供各类监测、预报信息。

第六条 重大社会活动气象保障服务单位要主动与活动举办部门联系,及时了解对气象服务的需求,有针对性地及时提供重大社会活动期间天气气候特点、前期天气概况、未来1—3天的逐日和逐时段天气预报、未来天气展望等专题气象服务。

第七条 省局决策服务中心是省级重大社会活动气象保障服务的主要责任单位,省气象台、省气候中心、省气象信息中心、杭州市气象局要按照省局决策服务中心的工作安排和要求,做好天气气候的监测、预测、分析、评估和各项气象服务工作。

第八条 各级气象部门要高度重视重大社会活动的气象保障服务工作,成立重大社会活动气象保障服务领导小组,各有关部门和单位要紧密配合,分工协作;各级业务管理部门要做好相关工作的组织协调和督促检查;各级行政管理部门要负责相关信息的对外宣传、报道和行政、后勤服务保障工作;各有关业务单位要根据本单位重大社会活动气象保障服务工作方案落实任务和责任。

第九条 重大社会活动结束后,负责单位要在半个月内将重大社会活动气象保障服务总结报上级业务主管部门。

第四篇:Matlab文件读取和写函数总结

时间:2015/10/26 作者:张贵勇 所在学校:郑州大学

实习公司:北方大贤风电科技

Matlab读取文件函数总结

1.load读取方式

a.基本说明:

只能读取数值数据,不能读取含文本的数据;日期按数值读取。b.调用方式:

a=load(filename);c. 有无分隔符限制:

无需输入分隔符,可自动识别空格、逗号、分号、制表符。d. 能否自定义读取范围:

不能。

e. 适用文件类型:

txt、csv。

2.importdata读取方式

a.基本说明: 可读取数值数据和含文本的数据,但是要求文本在数据的第一行或第一列。返回值分为数值部分(data)和文本部分(textdata)b.调用方式:

a=importdata(filename,delm,nheaderlines);filename:文件名(如果文件在其他路径下,文件名前需加所在路径。)delm:分隔符

nheaderlines:从第nheaderlines+1行开始读取数值数据。c.有无分隔符限制: 多列数据时需输入分隔符。若不输入分隔符,整行会被作为字符串放入一列。d.能否自定义读取范围: 可从某一行开始读取数值数据。若使用importdata按钮,则可自定义读取范围和设置数据类型。f. 适用文件类型

txt、xls、xlsx、csv。

3.textscan读取方式

a.基本说明: 可对列按照自定义格式读取数据,必须输入每列的读取格式,可跳过某个列或几列。按数值读取时,缺少值以NaN填补;按字符读取时,缺少值以空格填补。返回值按列放入元胞数组。b.调用方式: c = textscan(fid,'format',n,'param',value)fid:文件指针。使用textscan函数时需先使用fopen函数打开数据文件,返回给fid文件若不再使用,则需用fclose(fid)关闭文件。‘format’:定义每列的读取格式。例如%s表示按字符串读取、%d表示按整数读取、%D按日期读取、%*表示跳过该列。level%u8表示将level1读取成1,去掉level。‘param’,value:这两个参数成对出现。例如’Delimiter’,’s’表示按分隔符为’,’进行读取。c.有无分隔符限制

可自定义分隔符,不是必须的。d.能否自定义读取范围: 时间:2015/10/26 作者:张贵勇 所在学校:郑州大学

实习公司:北方大贤风电科技

可跳过某列或某几列数据,但要保证跳过的列是可读的,否则读取也会出错。e.适用文件类型 txt、csv 4.textread读取方式

a.基本说明:

适用于格式统一的txt文件的一次性大批量读取。textread读取某个文件后,下次再用,textread读取这个文件时,还是会从文件头开始读取。b.调用方式:

[A,B,C,...] = textread(filename,format)[A,B,C,...] = textread(filename,format,N,’headerlines’,M)Filename:文件名;

Format:就是要读取的格式;

A,B,C…:从文件中读取到的数据。中括号里面变量的个数必须和format中定义的个数相同。

N:表示读取的次数,每次读取一行。

Headerlines:表示从第M+1行开始读入。

5.dlmread读取方式

a. 基本说明:

只能读取数值数据。如文件中含有文本,需使用range参数跳过。返回值为矩阵。b. 调用方式: result = dlmread(filename,delimiter,range);filename:文件名。delimiter:分隔符。

range:文件读取范围,格式为[R1 C1 R2 C2]。c. 有无分隔符限制: 可自定义分隔符,不是必须的。d. 能否自定义读取范围: 通过设置range,选择读取范围。e. 适用文件类型

txt、csv。

6.xlsread读取方式

a. 基本说明:

读取xls文件,可读取含文本的数据,仅能返回数值部分。

b. 调用方式:

[num,txt,raw]=xlsread(file,sheet,range); file:需要读取的文件。sheet:需要读取的表单。

range:读取范围,格式为’A1:C4’。num:返回的数值数据。txt:返回的文本数据。

raw:返回未处理的数据。

c. 有无分隔符限制

无需输入分隔符。

d. 能否自定义读取范围: 时间:2015/10/26 作者:张贵勇 所在学校:郑州大学

实习公司:北方大贤风电科技

由sheet和range定义读取范围。e. 文件适用范围

xls、xlsx。

7.csvread读取方式

a. 基本说明: 只能读取逗号分隔的数值数据。如文件中含有文本,需使用range参数跳过。b.调用方式: m = csvread('filename',r,c,rng); filename:文件名字。r,c:开始读取的位置

rng:读取范围,格式为[R1 C1 R2 C2] c.有无分隔符限制: 文件必须以逗号分隔。d. 能否自定义读取范围: 可由r,c ,rng定义读取范围。e. 文件适用范围

txt、csv。

8.fread读取方式

该函数读取文件返回的是二进制矩阵。

Matlab写文件函数总结

1.xlswrite读取方式

a.基本说明: 用matlab处理数据之后,需要将其保存到EXCEL内,而这必须用到xlswrite函数。

b.调用方式

A=xlswrite(filename, M);将矩阵M的数据写入名为filename的Excel文件中。B=xlswrite(filename, M, sheet);将矩阵M的数据写入文件名为filename中的指定的sheet中。

C=xlswrite(filename, M, range);将矩阵M中的数据写入文件名为filename的Excel文件中,且由range制定存储的区域,例如'C1:C2'.D=xlswrite(filename, M, sheet, range)

status = xlswrite(filename,...);返回完成状态值。如果写入成功,则status为1;反之写入失败,则status为0.2.dlmwrite读取方式 a.基本说明: 将矩阵写入ASCII分隔的文件。dlmwrite函数不接受输CELLM要导出一个单元格数组中只包含数字数据,使用cell2mat矩阵转换为数字的单元格,然后再调用dlmwrite数组。

b.调用方式 时间:2015/10/26 作者:张贵勇 所在学校:郑州大学

实习公司:北方大贤风电科技

1)dlmwrite(filename, M)使用默认的分隔符(')将矩阵M写入ASCII格式的文件中。在目标文件filname中,数据是从第一行的第一列开始写的。输入的filename是使用单引号括起来的字符串。

2)dlmwrite(filename, M, 'D')将矩阵M写入一个ASCII格式的文件中,使用分隔符D来分割矩阵的元素。在目标文件filname中,数据是从第一行的第一列开始写的。逗号'是默认的分隔符,使用t来产生制表符分割的文件。

3)dlmwrite(filename, M, 'D', R, C)将矩阵M写入一个ASCII格式的文件中,使用分隔符D来分割矩阵的元素。在目标文件filname中,数据是从第R行的第C列开始写的,R和C从0开始,因此R=0,C=0指定了文件中的第一个数值,即左上角的位置。

4)dlmwrite(filename, M, '-append')matabc 将矩阵数据追加到文件的末尾。如果你不指定''-append',dlmwrite覆盖文件中的任何现有数据。

5)dlmwrite(filename, M, '-append', attribute-value list)

接受一个属性值对列表。用户可以将'-append'标志放在属性-数值对之间,但不能放在属性和它的值的中间。

第五篇:如果不是英文字母,则不转换直接输出到屏幕上。

从键盘输入一个英文字母,如果它是大写英文字母,则将其转换为小写英文字母,如果它是小写英文字母,则将其转换为大写英文字母,然后将它及其ASCII码值显示到屏幕上,如果不是英文字母,则不转换直接输出到屏幕上。**输入格式要求:提示信息:“Press a key and then press Enter:” **输出格式要求:“%c, %dn” 程序运行示例1如下:

Press a key and then press Enter:A a, 97 程序运行示例2如下:

Press a key and then press Enter:a A, 65 #include main(){ char ch;printf(“Press a key and then press Enter:”);ch=getchar();if(65<=ch&&ch<=90){ ch=ch+32;printf(“%c, %dn”,ch,ch);} else if(97<=ch&&ch<=122){ ch=ch-32;printf(“%c, %dn”,ch,ch);} else { printf(“&cn”,ch);} }

下载perl读取EXCEL文件输出到XMLword格式文档
下载perl读取EXCEL文件输出到XML.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐