10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
we have a CSV which i need to convert to XML using Perl or Unix shell scripting.
I was able to build this XML in oracle database. However, SQL/XML query is running for long time. Hence, I'm considering to write a Perl or shell script to generate this XML file. Basically need to build this XML... (3 Replies)
Discussion started by: laknar
3 Replies
2. Shell Programming and Scripting
I have absolutaly no idea how to get this script to sort the info in Birthdays.csv by date of birth. I know the sort -n command, however i wish to sort the file birthdays.csv by DOB. How would i go about doing this?
The below script gets user info and date of birth and then puts these info a... (3 Replies)
Discussion started by: redshine6
3 Replies
3. Shell Programming and Scripting
Hello!
So ive been presented with this comma-delimited file:
I need a print to look as below
"
lastname, phone_number, zip
for every person with a last name starting with the letter H, I
only with a 650-area code phone number. output should be sorted by reverse ZIP code "
I only have... (5 Replies)
Discussion started by: strangemachine
5 Replies
4. Shell Programming and Scripting
Hello all, I am new here and *relatively* new to Unix. I have a bit of an emergency. I have a three column file that I need to sort:
sample name, miRNA, reads per million (RPM)
There are multiple samples, and for each sample name there are multiple miRNAs and associated RPMs. Some of these... (6 Replies)
Discussion started by: dunnybocter
6 Replies
5. Shell Programming and Scripting
Hi,
I have a CSV file in following manner:
server1,env1,patch1
server1,env1,patch2
server1,env1,patch3
server1,env2,patch1
server1,env2,patch3
server2,env3,patch1
server2,env3,patch5
server2,env4,patch1
server3,env6,patch1
server3,env7,patch2
server3,env7,patch3
I want to... (6 Replies)
Discussion started by: avikaljain
6 Replies
6. UNIX for Dummies Questions & Answers
Hi everyone,
i am new to perl programming, i have a problem in extracting single column from csv file. the column is the 20th column,
please help me..
at present i use this code
#!C:/perl/bin
use warnings;
use strict;
my $file1 = $ARGV;
open FILE1, "<$file1"
or die "Can't... (13 Replies)
Discussion started by: kvth
13 Replies
7. UNIX and Linux Applications
Hi,
Please help me to solve sorting in CSV file.
I have 25 columns in my CSV. (Delimiter is ",")
Summary columns are from 10 to 13 which are should not be sorted. From 1-9 and 14-25 should be able to sort in ascending. how should i do this using Sort command in unix.
If no simple commands pls... (0 Replies)
Discussion started by: rajani_p
0 Replies
8. Shell Programming and Scripting
Hi all,
in my csv file it'll look like this, and of course it may have more columns
US to UK;abc-hq-jcl;multimedia
UK to CN;def-ny-jkl;standard
DE to DM;abc-ab-klm;critical
FD to YM;la-yr-tym;standard
HY to MC;la-yr-ytm;multimedia
GT to KJ;def-ny-jrt;critical
I would like to group... (4 Replies)
Discussion started by: tententen
4 Replies
9. Shell Programming and Scripting
Hi,
I have a .csv file which contains script names, subjects and email_addresses
The first two colums are always script name and subject, the next 20 colums are email address..
What i want to do is sort the email address in alphabetical order for each row and there's around 1200 rows.
So... (3 Replies)
Discussion started by: Jazmania
3 Replies
10. Shell Programming and Scripting
Folks,
I have a bit of an issue trying to obtain some data from a csv file using PERL. I can sort the file and remove any duplicates leaving only 4 or 5 rows containing data. My problem is that the data contained in the original file contains a lot more columns and when I try ro run this script... (13 Replies)
Discussion started by: lodey
13 Replies
csv(n) CSV processing csv(n)
NAME
csv - Procedures to handle CSV data.
SYNOPSIS
package require Tcl 8.3
package require csv ?0.3?
::csv::join values {sepChar ,}
::csv::joinlist values {sepChar ,}
::csv::read2matrix chan m {sepChar ,} {expand none}
::csv::read2queue chan q {sepChar ,}
::csv::report cmd matrix ?chan?
::csv::split line {sepChar ,}
::csv::split2matrix m line {sepChar ,} {expand none}
::csv::split2queue q line {sepChar ,}
::csv::writematrix m chan {sepChar ,}
::csv::writequeue q chan {sepChar ,}
DESCRIPTION
The csv package provides commands to manipulate information in CSV FORMAT (CSV = Comma Separated Values).
COMMANDS
The following commands are available:
::csv::join values {sepChar ,}
Takes a list of values and returns a string in CSV format containing these values. The separator character can be defined by the
caller, but this is optional. The default is ",".
::csv::joinlist values {sepChar ,}
Takes a list of lists of values and returns a string in CSV format containing these values. The separator character can be defined
by the caller, but this is optional. The default is ",". Each element of the outer list is considered a record, these are separated
by newlines in the result. The elements of each record are formatted as usual (via ::csv::join).
::csv::read2matrix chan m {sepChar ,} {expand none}
A wrapper around ::csv::split2matrix (see below) reading CSV-formatted lines from the specified channel (until EOF) and adding them
to the given matrix. For an explanation of the expand argument see ::csv::split2matrix.
::csv::read2queue chan q {sepChar ,}
A wrapper around ::csv::split2queue (see below) reading CSV-formatted lines from the specified channel (until EOF) and adding them
to the given queue.
::csv::report cmd matrix ?chan?
A report command which can be used by the matrix methods format 2string and format 2chan. For the latter this command delegates the
work to ::csv::writematrix. cmd is expected to be either printmatrix or printmatrix2channel. The channel argument, chan, has to be
present for the latter and must not be present for the first.
::csv::split line {sepChar ,}
converts a line in CSV format into a list of the values contained in the line. The character used to separate the values from each
other can be defined by the caller, via sepChar, but this is optional. The default is ",".
::csv::split2matrix m line {sepChar ,} {expand none}
The same as ::csv::split, but appends the resulting list as a new row to the matrix m, using the method add row. The expansion mode
specified via expand determines how the command handles a matrix with less columns than contained in line. The allowed modes are:
none This is the default mode. In this mode it is the responsibility of the caller to ensure that the matrix has enough columns to
contain the full line. If there are not enough columns the list of values is silently truncated at the end to fit.
empty In this mode the command expands an empty matrix to hold all columns of the specified line, but goes no further. The overall
effect is that the first of a series of lines determines the number of columns in the matrix and all following lines are
truncated to that size, as if mode none was set.
auto In this mode the command expands the matrix as needed to hold all columns contained in line. The overall effect is that after
adding a series of lines the matrix will have enough columns to hold all columns of the longest line encountered so far.
::csv::split2queue q line {sepChar ,}
The same as ::csv::split, but appending the resulting list as a single item to the queue q, using the method put.
::csv::writematrix m chan {sepChar ,}
A wrapper around ::csv::join taking all rows in the matrix m and writing them CSV formatted into the channel chan.
::csv::writequeue q chan {sepChar ,}
A wrapper around ::csv::join taking all items in the queue q (assumes that they are lists) and writing them CSV formatted into the
channel chan.
FORMAT
Each record of a csv file (comma-separated values, as exported e.g. by Excel) is a set of ASCII values separated by ",". For other lan-
guages it may be ";" however, although this is not important for this case (The functions provided here allow any separator character).
If a value contains itself the separator ",", then it (the value) is put between "".
If a value contains ", it is replaced by "".
EXAMPLE
The record
123,"123,521.2","Mary says ""Hello, I am Mary"""
is parsed as follows:
a) 123
b) 123,521.2
c) Mary says "Hello, I am Mary"
SEE ALSO
matrix, queue
KEYWORDS
csv, matrix, queue, package, tcllib
csv 0.3 csv(n)