Sponsored Content
Top Forums UNIX for Beginners Questions & Answers How to Dump data into CSV file which is Separate by <tab>? Post 303032616 by Don Cragun on Thursday 21st of March 2019 04:18:36 AM
Old 03-21-2019
In case your column count isn't always two or the row count isn't the same in all columns, you could also try:
Code:
awk '
BEGIN {	ncol = row = 0
}
/^$/ {	ncol++
	if(row > maxrow)
		maxrow = row
	row = 0
	next
}
{	d[row++, ncol] = $0
}
END {	if(row > maxrow)
		maxrow = row
	for(row = 0; row < maxrow; row++)
		for(col = 0; col <= ncol; col++)
			printf("%s%s", d[row, col],
			    (col == ncol) ? "\n" : "\t")
}' file

which with your sample input file produces the output:
Code:
ABC	XYZ
PQR	ASD

And, if given an input file that contains:
Code:
ABC
PQR
c0r2

XYZ
ASD
c1r2
c1r3

c2r0
c2r1
c2r2
c2r3
c2r4

produces the output:
Code:
ABC	XYZ	c2r0
PQR	ASD	c2r1
c0r2	c1r2	c2r2
	c1r3	c2r3
		c2r4

If someone else wants to try this on a Solaris/SunOS system, change awk in the code above to /usr/xpg4/bin/awk or nawk.
These 2 Users Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to create a CSV File by reading fields from separate files

SHELL SCRIPT Hi, I have 3 separate files within a folder. Every File contains data in a single column like File1 contains data mayank sushant dheeraj File2 contains DSA_AT MG_AT FLAT_09 File3 contains data 123123 232323 (2 Replies)
Discussion started by: mayanksargoch
2 Replies

2. Shell Programming and Scripting

Shell script - Excel/CSV file - More than one tab

Hi All, Following is my requirement. I have searched the site and found some threads which has same queries, but non of them have any answer. I thought of posting it once more. We are generating different reports through shell script after we finish our data load. Currently there are 7 such... (5 Replies)
Discussion started by: ace_friends22
5 Replies

3. Shell Programming and Scripting

Conversion of xhtml data into csv format using dump utility

Hi Unix Gurus, I tried to convert the attached xhtml table content into csv file using unix shell script (lynx -dump filename) and got the below results: Title ID Owner Priority Estimate Project Change Date Changed By Complexity Create Date Created By Detail Estimate Total De tail... (6 Replies)
Discussion started by: bi.infa
6 Replies

4. UNIX for Dummies Questions & Answers

using sed delete a line from csv file based on specific data in two separate fields

Hello, :wall: I have a 12 column csv file. I wish to delete the entire line if column 7 = hello and column 12 = goodbye. I have tried everything that I can find in all of my ref books. I know this does not work /^*,*,*,*,*,*,"hello",*,*,*,*,"goodbye"/d Any ideas? Thanks Please... (2 Replies)
Discussion started by: Chris Eagleson
2 Replies

5. Shell Programming and Scripting

How to add a new sheet or a new tab in a csv file?

Hi All, I woulk like thanks to all of you for your instant support. I am again in a trouble so move to here for solution. I want to add a new sheet or a new tab in a csv file means a singly csv file having two or more sheets. Please help me any help towards this should highly be appreciated. ... (3 Replies)
Discussion started by: Ashish Singhal
3 Replies

6. Shell Programming and Scripting

Csv file separate using awk

Hi, I have file like below apple,orange,pineapple,pappya,guva,avocado want to store as apple orange pineapple pappya I tried below command to seprate first field command1: (3 Replies)
Discussion started by: stew
3 Replies

7. UNIX for Dummies Questions & Answers

Writing multiple outputs in to separate cells of CSV file

Hi I am writing a script which has multiple awk statements and each statement gives me a numeric count as an output. I want those output to be stored in different cells of a csv file. say 12 awk statements give 12 output and i want them in diffrenet cells of csv file. Thank you guys..!! (4 Replies)
Discussion started by: prabhat.diwaker
4 Replies

8. Shell Programming and Scripting

How to convert space&tab delimited file to CSV?

Hello, I have a text file with space and tab (mixed) delimited file and need to convert into CSV. # cat test.txt /dev/rmt/tsmmt32 HP Ultrium 6-SCSI J3LZ 50:03:08:c0:02:72:c0:b5 F00272C0B5 0/0/6/1/1.145.17.255.0.0.0 /dev/rmt/c102t0d0BEST /dev/rmt/tsmmt37 ... (6 Replies)
Discussion started by: prvnrk
6 Replies

9. Shell Programming and Scripting

Compare 2 files of csv file and match column data and create a new csv file of them

Hi, I am newbie in shell script. I need your help to solve my problem. Firstly, I have 2 files of csv and i want to compare of the contents then the output will be written in a new csv file. File1: SourceFile,DateTimeOriginal /home/intannf/foto/IMG_0713.JPG,2015:02:17 11:14:07... (8 Replies)
Discussion started by: refrain
8 Replies

10. Shell Programming and Scripting

How to separate data coming in one column of CSV file?

I am running an ISQL command on Sybase DB and getting output of a query in an CSV file. The issue is that all the data comes in to the same column, i want them to be separated in different columns. SQL_COMMAND=command.sql file=file.txt formatFile=formatFile.txt report=report.csv echo... (1 Reply)
Discussion started by: Sharma331
1 Replies
HTML::ElementTable(3pm) 				User Contributed Perl Documentation				   HTML::ElementTable(3pm)

NAME
HTML::ElementTable - Perl extension for manipulating a table composed of HTML::Element style components. SYNOPSIS
use HTML::ElementTable; # Create a table 0..10 x 0..12 $t = new HTML::ElementTable maxrow => 10, maxcol => 12; # Populate cells with coordinates $t->table->push_position; # Manipulate <TABLE> tag $t->attr('cellspacing',0); $t->attr('border',1); $t->attr('bgcolor','#DDBB00'); # Manipulate entire table - optimize on <TR> or pass to all <TD> $t->table->attr('align','left'); $t->table->attr('valign','top'); # Manipulate rows (optimizes on <TR> if possible) $t->row(0,2,4,6)->attr('bgcolor','#9999FF'); # Manipulate columns (all go to <TD> tags within column) $t->col(0,4,8,12)->attr('bgcolor','#BBFFBB'); # Manipulate boxes (all go to <TD> elements # unless it contains full rows, then <TR>) $t->box(7,1 => 10,3)->attr('bgcolor','magenta'); $t->box(7,7 => 10,5)->attr('bgcolor','magenta'); $t->box(8,9 => 9,11)->attr('bgcolor','magenta'); $t->box(7,10 => 10,10)->attr('bgcolor','magenta'); # individual <TD> or <TH> attributes $t->cell(8,6)->attr('bgcolor','#FFAAAA'); $t->cell(9,6)->attr('bgcolor','#FFAAAA'); $t->cell(7,9, 10,9, 7,11, 10,11)->attr('bgcolor','#FFAAAA'); # Take a look print $t->as_HTML; DESCRIPTION
HTML::ElementTable provides a highly enhanced HTML::ElementSuper structure with methods designed to easily manipulate table elements by using coordinates. Elements can be manipulated in bulk by individual cells, arbitrary groupings of cells, boxes, columns, rows, or the entire table. PUBLIC METHODS
Table coordinates start at 0,0 in the upper left cell. CONSTRUCTORS new() new(maxrow => row, maxcol => col) Return a new HTML::ElementTable object. If the number of rows and columns were provided, all elements required for the rows and columns will be initialized as well. See extent(). new_from_tree($tree) Takes an existing top-level HTML::Element representing a table and converts the entire table structure into a cohesive HTML::ElementTable construct. (this is potentially useful if you want to use the power of this module for editing HTML tables in situ within an HTML::Element tree). TABLE CONFIGURATION extent() extent(maxrow, maxcolumn) Set or return the extent of the current table. The maxrow and maxcolumn parameters indicate the maximum row and column coordinates you desire in the table. These are the coordinates of the lower right cell in the table, starting from (0,0) at the upper left. Providing a smaller extent than the current one will shrink the table with no ill effect, provided you do not mind losing the information in the clipped cells. maxrow() Set or return the coordinate of the last row. maxcol() Set or return the coordinate of the last column. ELEMENT ACCESS Unless accessing a single element, most table element access is accomplished through globs, which are collections of elements that behave as if they were a single element object. Whenever possible, globbed operations are optimized into the most appropriate element. For example, if you set an attribute for a row glob, the attribute will be set either on the <TR> element or the collected <TD> elements, whichever is appropriate. See HTML::ElementGlob(3) for more information on element globs. cell(row,col,[row2,col2],[...]) Access an individual cell or collection of cells by their coordinates. row(row,[row2,...]) Access the contents of a row or collection of rows by row coordinate. col(col,[col2,...]) Access the contents of a column or collection of columns by column coordinate. box(row_a1,col_a1,row_a2,col_a2,[row_b1,col_b1,row_b2,col_b2],[...]) Access the contents of a span of cells, specified as a box consisting of two sets of coordinates. Multiple boxes can be specified. table() Access all cells in the table. This is different from manipulating the table object itself, which is reserved for such things as CELLSPACING and other attributes specific to the <TABLE> tag. However, since table() returns a glob of cells, if the attribute is more appropriate for the top level <TABLE> tag, it will be placed there rather than in each <TR> tag or every <TD> tag. ELEMENT/GLOB METHODS The interfaces to a single table element or a glob of elements are identical. All methods available from the HTML::ElementSuper class are also available to a table element or glob of elements. See HTML::ElementSuper(3) for details on these methods. Briefly, here are some of the more useful methods provided by HTML::ElementSuper: attr() push_content() replace_content() wrap_content() clone([element]) mask([mode]) TABLE SPECIFIC EXTENSIONS blank_fill([mode]) Set or return the current fill mode for blank cells. The default is 0 for HTML::Element::Table elements. When most browsers render tables, if they are empty you will get a box the color of your browser background color rather than the BGCOLOR of that cell. When enabled, empty cells are provided with an '&nbsp;', or invisible content, which will trigger the rendering of the BGCOLOR for that cell. NOTES ON GLOBS
Globbing was a convenient way to treat arbitrary collections of table cells as if they were a single HTML element. Methods are generally passed blindly and sequentially to the elements they contain. Most of the time, this is fairly intuitive, such as when you are setting the attributes of the cells. Other times, it might be problematic, such as with push_content(). Do you push the same object to all of the cells? HTML::Element based classes only support one parent, so this breaks if you try to push the same element into multiple parental hopefuls. In the specific case of push_content() on globs, the elements that eventually get pushed are clones of the originally provided content. It works, but it is not necessarily what you expect. An incestuous HTML element tree is probably not what you want anyway. See HTML::ElementGlob(3) for more details on how globs work. REQUIRES
HTML::ElementSuper, HTML::ElementGlob AUTHOR
Matthew P. Sisk, <sisk@mojotoad.com> ACKNOWLEDGEMENTS
Thanks to William R. Ward for some conceptual nudging. COPYRIGHT
Copyright (c) 1998-2010 Matthew P. Sisk. All rights reserved. All wrongs revenged. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
A useful page of HTML::ElementTable examples can be found at http://www.mojotoad.com/sisk/projects/HTML-Element-Extended/examples.html. HTML::ElementSuper(3), HTML::ElementGlob(3), HTML::Element(3), HTML::TableExtract(3), perl(1). perl v5.10.1 2010-06-09 HTML::ElementTable(3pm)
All times are GMT -4. The time now is 08:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy