`
kiddwyl
  • 浏览: 402696 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

perl导出CSV

    博客分类:
  • Perl
阅读更多
    在现在互联网的时代,如果有些东西你清楚地,google或者baidu一下,都可以找到一大堆你要的东东,但是相信大家都有这样的经历,找到的东东或者是教程,未必能用用的得心应手,或者是说“怎么文档上这块就顺利通过了,我这里怎么就抱错呀”

    今天花了很长的时间搞了一下利用perl导出CSV文件的过程,挺有感触,在这里给大家分享下

    因为机器装的是RedHat AS4,2.6.9 kernel,perl版本为5.8.5
    在安装开始被提示找不到CSV.pm模块,有点头晕。。通过多方寻找资料得到需要通过ppm下载各种perlpackage,好吧,那么去找找吧,最终找到了ActivePerl-5.8.8.822-i686-linux-glibc-2.2.4-gcc-280952.tar.gz,下载后安装(执行install.sh便可安装)
    安装完成之后就可以通过bin目录下的ppm install (内容)来进行模块安装了,当然你怎么知道需要安装些什么呢?我们可以通过./ppm s CSV,我们通常可以看到如下内容:
Downloading ActiveState Package Repository packlist...not modified
1: App-CCSV v0.02
2: Class-CSV v1.03
3: DBD-CSV v0.22
4: Data-Package-CSV v1.01
5: IO-CSVHeaderFile v0.04
6: Log-Accounting-CSV v0.02
7: POE-Filter-CSV v1.14
8: POE-Filter-CSV_XS v1.12
9: Parse-CSV v1.00
10: Snail-CSV v0.07
11: Template-Plugin-CSV v0.04
12: Text-CSV v1.10
13: Text-CSV-BulkData v0.06
14: Text-CSV-DetectSeparator v0.03
15: Text-CSV-Encoded v0.07
16: Text-CSV-Separator v0.20
17: Text-CSV-Simple v1.00
18: Text-CSV-Track v0.8
19: Text-CSV-Unicode v0.111
20: Text-CSV_PP-Iterator v1.00
21: Text-CSV_XS v0.58
22: Text-ECSV v0.01
23: Text-LooseCSV v1.6
24: Tie-File-AnyData-MultiRecord_CSV v0.01
25: Tie-Handle-CSV v0.09
26: XML-CSV v0.15
27: XML-SAXDriver-CSV v0.07
28: csv2txt v2.0

    当然我们可以安装自己需要的,比如./ppm install Text-CSV
    在这里我遇到一个问题,因为我做的内容是需要将oracle的数据导到CSV中,但是在ppm中我无法找到DBD:oracle模块,所以我只能手工安装DBD:oracle模块包,包名如下(DBD-Oracle-1.22.tar.gz),然后通过ppm更新后的pm报和其他需要的文件拷贝到/usr/lib/perl5相关目录下,后来想想,这也是一个通用的办法,也就是把ppm当成一个下载库,呵呵

    好了,最终完成了工作,但是还不太完美,实现代码段如下所示,可供大家参考:
#!/usr/bin/perl -w
use DBI;
use Tie::File;

#$dbh = DBI->connect("dbi:Oracle:$dbname",$user,$passwd) or die "can't connect todatabase ".DBI-errstr;

# Connect to target DB
my $dbh = DBI->connect("dbi:Oracle:ORCL_KIDD","morefund","1", {'RaiseError' => 1});

# Insert one row
#my $rows = $dbh->do("INSERT INTO TBL_TEST(id,name,pid) VALUES (20,'test',20)");

my @lines;
my $filename='./prospects.csv';

tie(@lines,'Tie::File',$filename) or die;

#print "insert $rows rows\n";
# query
my $sth = $dbh->prepare("select fund_id from acc_settleday where rownum <=200000");

$sth->execute;
$N=0;
while(my @ref = $sth->fetchrow_array ) {
    $N++;
    $lines[$N]="$ref[0]\n";
}
untie(@lines);

$dbh->disconnect();
分享到:
评论

相关推荐

    nessus2csv:将 Tenable Nessus xml 输出转换为 csv 电子表格的 Perl 脚本

    `nessus2csv`是一个Perl脚本,其主要功能是将Nessus生成的XML报告转换成CSV(逗号分隔值)格式的电子表格。CSV格式是一种通用的数据交换格式,易于阅读,也方便使用Excel或其他数据分析软件进行处理和分析。 Perl是...

    ldap-csvexport-开源

    标题中的“ldap-csvexport-开源”指的是一个名为“ldap-csvexport”的开源项目,它是一个用Perl语言编写的工具,专门用于从LDAP(轻量级目录访问协议)服务器,如微软的Active Directory,导出数据到CSV(逗号分隔值...

    test_Perl_

    标题"test_Perl_"可能暗示我们正在处理一个用Perl编写的测试脚本,而描述"export mysql data to csv"则揭示了这个脚本的核心功能——从MySQL数据库导出数据并保存为CSV格式的文件。这涉及到Perl与数据库的交互以及...

    Linux下的MySQL依赖包(所有perl).rar

    8. Text::CSV:在处理CSV格式的数据时,这个模块能方便地读写CSV文件,这在导入和导出MySQL数据时非常有用。 在安装MySQL之前,确保这些Perl模块已经正确安装和配置是至关重要的,因为它们是MySQL在Linux环境中正常...

    安装Bugzilla所需Perl模块

    10. Text::CSV_XS:用于处理CSV格式的数据,可能在导入或导出Bugzilla数据时用到。 11. Locale::Maketext::Lexicon 和 Locale::Maketext::Simple:支持多语言功能。 12. YAML:用于读写YAML格式的配置文件,...

    perl gui 日志分析工具

    7. **导出报告**:将分析结果导出为PDF、Excel或其他格式,方便分享和存档。 源码的开放意味着用户可以根据自己的实际需求调整代码,增加新的功能或优化现有功能。例如,如果日志文件格式特殊,可以修改文件读取...

    perl程序(用户从oracle提取数据)

    此外,`Text::CSV`模块可以帮助解析和生成CSV文件,这在ETL过程中非常常见,因为数据通常需要被导出或导入到其他系统。 在压缩包中的`etl_oracle.pl`可能就是一个具体的Perl脚本,用于实现这个ETL过程。通过阅读和...

    GnuCash Export Modifier:修改GnuCash Trasnaction导出的Perl实用程序-开源

    脚本能够读取GnuCash导出的文件(通常为CSV格式),通过内建的模式匹配和数据处理函数,快速定位到包含月份和年份信息的部分,然后按照用户的需求进行格式化输出。 使用这个Perl实用程序,用户可以自定义筛选条件,...

    安装bugzilla4.2.2需要的perl模块

    3. **Text::CSV** 或 **Text::CSV_XS**: 这些模块用于处理CSV(逗号分隔值)文件,Bugzilla可能需要它们来导入或导出数据。 4. **Email::Sender::Simple**: 这个模块提供了发送电子邮件的基本功能,Bugzilla需要它...

    bugzilla 安装perl模块的所有需要的包

    11. Text::CSV:处理CSV格式的数据,可能在导入导出Bugzilla数据时使用。 12. Time::Piece:处理日期和时间,用于记录和显示Bugzilla中的事件时间。 13. YAML:用于读取和写入YAML格式的配置文件,Bugzilla的配置...

    dm_new_one_dtl_大数据处理_用于数据汇聚和大数据统计_Perl_

    例如,当面对大量的日志文件、CSV数据或其他非结构化数据时,Perl可以快速地解析、过滤和重组这些信息。 "dm_new_one_dtl.pl"这个文件名可能暗示了一个具体的Perl脚本,用于执行数据挖掘("dm"可能代表“data ...

    R 数据导入和导出.pdf

    - **导出到文本文件**: 使用`write.table`系列函数,可以将数据导出为CSV、TSV等格式。 - **导出到Excel**: 需要专门的包,例如`xlsx`。 - **导出到数据库**: 使用数据库接口包,如`RMySQL`,可以直接将数据写入...

    perl gui 日志分析工具 附源码

    7. **导出结果**:分析结果可以导出为各种格式,如CSV、Excel或PDF,方便进一步的数据处理或分享。 8. **源码开放**:源代码的开放性意味着用户可以根据自己的需求调整或扩展工具的功能,例如添加新的解析器以支持...

    csv2ldif2-开源

    CSV2LDIF2是一款基于Perl语言开发的命令行工具,专为数据转换而设计,能够将常见的逗号分隔值(CSV)文件高效地转换成轻量级目录访问协议(LDAP)数据交换格式(LDIF)文件。在IT行业中,这种工具对于管理和迁移 ...

    Spreadsheet-WriteExcel-2.15.tar.rar

    由于Perl的灵活性,可以方便地与其他数据源(如数据库或CSV文件)集成,使得数据处理和转换更为便捷。 总的来说,Spreadsheet-WriteExcel是Perl社区中一个重要的库,它为开发者提供了一种有效且灵活的方式来生成和...

    ImportExport:ImportExport工具是一个通用框架,可以多种格式(例如CSV或XML)导入和导出对象(如票证或配置项)

    "ImportExport"工具正是一款专为此目的设计的通用框架,它允许用户以多种格式,如CSV(逗号分隔值)或XML(可扩展标记语言),进行数据的导入和导出操作。这个工具对于管理和维护大量的结构化数据,如票证系统中的...

    csvdiff:将CSV文件与所需的任何分隔符进行比较-开源

    标题中的“csvdiff”是一个Perl脚本工具,专门用于比较两个CSV(逗号分隔值)文件的内容。CSV文件在IT行业中广泛使用,通常作为数据交换格式,因为它们简单、通用且易于处理。csvdiff的独特之处在于它允许用户指定...

    perl-App-SQLiteUtils:(无描述)

    5. **数据导入导出**: `App-SQLiteUtils` 支持从 CSV 或其他格式的数据源导入数据到 SQLite 数据库,同时也可将数据库内容导出为 CSV 或其他格式,这对于数据迁移或分析非常有用。 6. **数据库管理**: 除了基本的...

    Tk-TableMatrix:Tk-TableMatrix-PerlTk的类似于电子表格的小部件

    7. **导出导入数据**:支持从CSV、Excel等格式导入导出数据,方便数据交换和备份。 接下来,让我们探讨如何在PerlTk程序中使用Tk-TableMatrix: 1. **安装Tk-TableMatrix**:首先,你需要通过CPAN(Comprehensive ...

Global site tag (gtag.js) - Google Analytics