Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.616.696 Times

Data::CTable 1.03

  Date Added: February 06, 2010  |  Visits: 697

Data::CTable

Report Broken Link
Printer Friendly Version


Product Homepage
Download (72 downloads)



Data::CTable is a Perl module that helps you read, write, manipulate tabular data. SYNOPSIS ## Read some data files in various tabular formats use Data::CTable; my $People = Data::CTable->new("people.merge.mac.txt"); my $Stats = Data::CTable->new("stats.tabs.unix.txt"); ## Clean stray whitespace in fields $People->clean_ws(); $Stats ->clean_ws(); ## Retrieve columns my $First = $People->col(FirstName); my $Last = $People->col(LastName ); ## Calculate a new column based on two others my $Full = [map {"$First->[$_] $Last->[$_]"} @{$People->all()}]; ## Add new column to the table $People->col(FullName => $Full); ## Another way to calculate a new column $People->col(Key); $People->calc(sub {no strict vars; $Key = "$Last,$First";}); ## "Left join" records matching Stats:PersonID to People:Key $Stats->join($People, PersonID => Key); ## Find certain records $Stats->select_all(); $Stats->select(Department => sub {/Sale/i }); ## Sales depts $Stats->omit (Department => sub {/Resale/i}); ## not Resales $Stats->select(UsageIndex => sub {$_ > 20.0}); ## high usage ## Sort the found records $Stats->sortspec(DeptNum , {SortType => Integer}); $Stats->sortspec(UsageIndex, {SortType => Number }); $Stats->sort([qw(DeptNum UsageIndex Last First)]); ## Make copy of table with only found/sorted data, in order my $Report = $Stats->snapshot(); ## Write an output file $Report->write(_FileName => "Rept.txt", _LineEnding => "mac"); ## Print a final progress message. $Stats->progress("Done!"); ## Dozens more methods and parameters available... OVERVIEW Data::CTable is a comprehensive utility for reading, writing, manipulating, cleaning and otherwise transforming tabular data. The distribution includes several illustrative subclasses and utility scripts. A Columnar Table represents a table as a hash of data columns, making it easy to do data cleanup, formatting, searching, calculations, joins, or other complex operations. The objects hash keys are the field names and the hash values hold the data columns (as array references). Tables also store a "selection" -- a list of selected / sorted record numbers, and a "field list" -- an ordered list of all or some fields to be operated on. Select() and sort() methods manipulate the selection list. Later, you can optionally rewrite the table in memory or on disk to reflect changes in the selection list or field list. Data::CTable reads and writes any tabular text file format including Merge, CSV, Tab-delimited, and variants. It transparently detects, reads, and preserves Unix, Mac, and/or DOS line endings and tab or comma field delimiters -- regardless of the runtime platform. In addition to reading data files, CTable is a good way to gather, store, and operate on tabular data in memory, and to export data to delimited text files to be read by other programs or interactive productivity applications. To achieve extremely fast data loading, CTable caches data file contents using the Storable module. This can be helpful in CGI environments or when operating on very large data files. CTable can read an entire cached table of about 120 megabytes into memory in about 10 seconds on an average mid-range computer. For simple data-driven applications needing to store and quickly retrieve simple tabular data sets, CTable provides a credible alternative to DBM files or SQL. For data hygiene applications, CTable forms the foundation for writing utility scripts or compilers to transfer data from external sources, such as FileMaker, Excel, Access, personal organizers, etc. into compiled or validated formats -- or even as a gateway to loading data into SQL databases or other destinations. You can easily write short, repeatable scripts in Perl to do reporting, error checking, analysis, or validation that would be hard to duplicate in less-flexible application environments. The data representation is simple and open so you can directly access the data in the object if you feel like it -- or you can use accessors to request "clean" structures containing only the data or copies of it. Or you can build your own columns in memory and then when youre ready, turn them into a table object using the very flexible new() method. The highly factored interface and implementation allow fine-grained subclassing so you can easily create useful lightweight subclasses. Several subclasses are included with the distribution. Most defaults and parameters can be customized by subclassing, overridden at the instance level (avoiding the need to subclass too often), and further overridden via optional named-parameter arguments to most major method calls..

Requirements: No special requirements
Platforms: Linux
Keyword: Ctable Data Datactable Libraries List Perl Module Programming Read Table Tabular Tabular Data Usageindex Write
Users rating: 0/10

License: Freeware Size: 153.6 KB
USER REVIEWS
More Reviews or Write Review


DATA::CTABLE RELATED
Libraries  -  File::Data 1.12
File::Data is a Perl module as a interface to file data. Wraps all the accessing of a file into a convenient set of calls for reading and writing data, including a simple regex interface. Note that the file needs to exist prior to using this...
13.31 KB  
Libraries  -  Jifty::DBI::SchemaGenerator 0.29
Jifty::DBI::SchemaGenerator is a Perl module to generate table schemas from Jifty::DBI records. This module turns a Jifty::Record object into an SQL schema for your chosen database. At the moment, your choices are MySQL, SQLite, or PostgreSQL....
99.33 KB  
Libraries  -  dtRdr::Annotation::IO::YAML 0.0.11
dtRdr::Annotation::IO::YAML is a Perl module to read/write annotations from/to yml files. Methods init $io->init; items_for Return the hashrefs for a given book. @items = $io->items_for($book); insert $io->insert($object, %args);...
2.8 MB  
Libraries  -  Convert::PEM 0.07
Convert::PEM is Perl module that read/write encrypted ASN.1 PEM files. SYNOPSIS use Convert::PEM; my $pem = Convert::PEM->new( Name => "DSA PRIVATE KEY", ASN => qq( DSAPrivateKey SEQUENCE { version INTEGER, p INTEGER, q INTEGER, g...
20.48 KB  
Libraries  -  Data::Inherited 1.00
Data::Inherited is a Perl module with hierarchy-wide accumulation of list and hash results. SYNOPSIS package Foo; use base Data::Inherited; use constant PROPERTIES => (qw/name address/); package Bar; use base Foo; use constant PROPERTIES...
12.29 KB  
Libraries  -  Data::PropertyList 1998.1217
Data::PropertyList is a Perl module that can convert arbitrary objects to/from strings. SYNOPSIS use Data::PropertyList qw(astext fromtext); $hash_ref = { items => [ 7 .. 11 ], key => value }; $string = astext($hash_ref); # ... $hash_ref...
8.19 KB  
Libraries  -  Data::Secs2 0.09
Data::Secs2 is a Perl module to pack, unpack, format, transform from Perl data SEMI E5-94 nested data. SYNOPSIS ##### # Subroutine interface # use Data::Secs2 qw(arrayify config listify neuterify numberify perlify perl_typify secsify...
98.3 KB  
Libraries  -  Data::Encrypted 0.07
Data::Encrypted is a Perl module to transparently store encrypted data via RSA. SYNOPSIS # functional interface: use Data::Encrypted file => "./.$0-encrypted-data", qw(encrypted); # note: login and password are not *really* the login and #...
7.17 KB  
Libraries  -  Data::Phrasebook::Loader::XML 0.12
Data::Phrasebook::Loader::XML Perl module can abstract your phrases with XML. SYNOPSIS use Data::Phrasebook; my $q = Data::Phrasebook->new( class => Fnerk, loader => XML, file => phrases.xml, dict => Dictionary, # optional ); OR my...
17.41 KB  
Libraries  -  Data::Stag 0.10
Data::Stag is a Perl module with structured tags datastructures. SYNOPSIS # PROCEDURAL USAGE use Data::Stag qw(:all); $doc = stag_parse($file); @persons = stag_find($doc, "person"); foreach $p (@persons) { printf "%s, %s phone: %sn",...
440.32 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.11.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB