2009年1月 归档

用逗号替换换行符

| 暂无评论 | 暂无引用通告
本来想使用awk的,可是老半天没想出来,笨一点,先将活干完:
perl -e '$file=shift;
open FD,$file;
undef $/;
$c=<FD>;
$c =~ s/\n/,/g;
print $c;
close FD;' filename

后来查了一下awk的用法:

awk 'BEGIN {RS=""} {gsub("\n",",");print $0}' filename

再来一个Perl的:

perl -pe "$/='';s/\n/,/g " filename

看这里:http://www.stonehenge.com/merlyn/UnixReview/col01.html

暴晕!

Perl读取Excel表格中的数据

| 暂无评论 | 暂无引用通告
#!/usr/bin/perl -w
use strict;
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::FmtUnicode;

#创建一个表格解析对象
my $oExcel = new Spreadsheet::ParseExcel;
die "You must provide a filename to $0 to be parsed as an Excel file" unless @ARGV;
 #设定格式转码
my $oFmtC = Spreadsheet::ParseExcel::FmtUnicode->new(Unicode_Map=>"CP936");
#解析文件,文件名为传给脚本的第一个参数
my $oBook = $oExcel->Parse($ARGV[0],$oFmtC);
#表格文件中的表序
my $iSheet=0;
#获得表格文件的第一张表
my $worksheet=$oBook->{Worksheet}[$iSheet];
#获取指定表中的值 列序、列序的始值为0
my $value=$worksheet->{Cells}[行序][列序]->Value;

另外看这里:
http://blog.chinaunix.net/u/14845/showart_80678.html
http://www.ibm.com/developerworks/cn/linux/sdk/perl/culture-8/index.html

使用Perl生成excel表格

| 暂无评论 | 暂无引用通告
use Encode 'decode';
use Spreadsheet::WriteExcel;

#创建一个文件

my $workbook = Spreadsheet::WriteExcel->new("perl.xls");
添加格式
$workbook->add_format('border'=>5);
#创建一个工作表
# Add a worksheet
$worksheet = $workbook->add_worksheet("sheetname");  #如果是中文表名,使用decode('gb2312',"表名")
$worksheet->set_column('A:B', 13);
#  Add and define a format
#设定格式

my $format = $workbook->add_format(); # Add a format
    $format->set_align('left');
    $format->set_font('AR PL ShanHeiSun Uni');

#写入表格:
#此处的内容是中文,需要转码
  $worksheet->write(行序,列序,decode('gb2312',"数据"),格式);

此处的行序,列序起始值为0

perl删除文件

| 暂无评论 | 暂无引用通告
使用unlink函数,如:
perl -e '$file=$ARGV[0];unlink $file' -- anaconda-ks.cfg
删除当前目录下的anaconda-ks.cfg

已经2009年了

| 暂无评论 | 暂无引用通告

关于此归档

这里是2009年1月的所有日记,它们按照时间从新到老排序。

上一篇日记2008年12月

下一篇日记2009年2月

首页归档页可以看到最新的日记和所有日记。