LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 10-05-2010, 08:31 AM   #1
jeremy28
Member
 
Registered: Sep 2009
Posts: 48

Rep: Reputation: 15
I can't import a file in a spreadsheet (Excel file)?!


Hi all;

I have a file with ".tgff" format that a piece of it, is as below (this file is for describing a benchmark in hardware design)
Code:
# AMD ElanSC520-133 MHz
@PROC 0 {
# price buffered preempt_power commun_energy_bit io_energy_bit idle_power
  33    1        1.6           0                 0             0.16
#------------------------------------------------------------------------------
# type version valid task_time preempt_time code_bits task_power
# Angle to Time Conversion
0       0      1     9e-06     150E-6       6.9e+04   1.6

# Basic floating point
1       0      1     2.3e-05   150E-6       5.8e+04   1.6

# Bit Manipulation
2       0      1     0.00049   150E-6       2.9e+04   1.6

# Cache Buster
3       0      1     3.5e-06   150E-6       2e+04     1.6

# CAN Remote Data Request
4       0      1     1.8e-06   150E-6       1.4e+04   1.6

# Fast Fourier Transform (Auto/Indust. Version)
5       0      1     0.014     150E-6       7.1e+04   1.6

# Finite Impulse Response Filter (Auto/Indust. Vers)
6       0      1     6.9e-05   150E-6       1.7e+04   1.6

# Infinite Impulse Response Filter
7       0      1     8e-05     150E-6       8.7e+04   1.6

# Inverse discrete cosine transfom
8       0      1     0.00091   150E-6       7.5e+04   1.6

# Inverse Fast Fourier Transform (Auto/Indust. Vers)
9       0      1     0.013     150E-6       6.9e+04   1.6

# Matrix arithmetic
10      0      1     0.0067    150E-6       9.3e+04   1.6

# Pointer Chasing
11      0      1     0.00033   150E-6       9.6e+03   1.6

# Pulse Width Modulation
12      0      1     4.5e-06   150E-6       1.4e+04   1.6

# Road Speed Calculation
13      0      1     3.2e-06   150E-6       6.9e+03   1.6

# Table Lookup and Interpolation
14      0      1     3e-05     150E-6       6e+04     1.6

# Tooth To Spark
15      0      1     7.4e-05   150E-6       4.1e+04   1.6

# OSPF/Dijkstra
16      0      1     0.0012    150E-6       2.8e+05   1.6

# Route Lookup/Patricia
17      0      1     0.0032    150E-6       2.5e+05   1.6

# Packet Flow - 512 kbytes
18      0      1     0.00097   150E-6       2.6e+05   1.6

# Packet Flow - 1 Mbyte
19      0      1     0.002     150E-6       2.6e+05   1.6

# Packet Flow - 2 Mbytes
20      0      1     0.004     150E-6       2.6e+05   1.6

# Autocorrelation - Data1 (pulse)
21      0      1     3.1e-05   150E-6       4.4e+03   1.6

# Autocorrelation - Data2 (sine)
22      0      1     0.0051    150E-6       4.4e+03   1.6

# Auto-Correlation - Data3 (speech)
23      0      1     0.0048    150E-6       4.4e+03   1.6

# Convolutional Encoder - Data1 (xk5r2dt)
24      0      1     0.00068   150E-6       6.3e+03   1.6

# Convolutional Encoder - Data2 (xk4r2dt)
25      0      1     0.00081   150E-6       6.3e+03   1.6

# Convolutional Encoder - Data3 (xk3r2dt)
26      0      1     0.00092   150E-6       6.3e+03   1.6

# Fixed-point Bit Allocation - Data2 (typ)
27      0      1     0.0061    150E-6       5.4e+03   1.6

# Fixed-point Bit Allocation - Data3 (step)
28      0      1     0.00041   150E-6       5.4e+03   1.6

# Fixed Point Bit Allocation - Data6 (pent)
29      0      1     0.004     150E-6       5.4e+03   1.6

# Fixed Point Complex FFT - Data1 (pulse)
30      0      1     0.0013    150E-6       1.3e+05   1.6

# Fixed point Complex FFT - Data2 (spn)
31      0      1     0.0013    150E-6       1.3e+05   1.6

# Fixed Point Complex FFT - Data3 (sine)
32      0      1     0.0013    150E-6       1.3e+05   1.6

# Viterbi GSM Decoder - Data1 (get)
33      0      1     0.0031    150E-6       1.1e+04   1.6

# Viterbi GSM Decoder - Data2 (toggle)
34      0      1     0.0031    150E-6       1.1e+04   1.6

# Viterbi GSM Decoder - Data3 (ones)
35      0      1     0.0031    150E-6       1.1e+04   1.6

# Viterbi GSM Decoder - Data4 (zeros)
36      0      1     0.0031    150E-6       1.1e+04   1.6

# Compress JPEG
37      0      1     0.33      150E-6       2.4e+05   1.6

# Decompress JPEG
38      0      1     0.25      150E-6       2.9e+05   1.6

# High Pass Grey-scale filter
39      0      1     0.053     150E-6       7.6e+03   1.6

# RGB to CYMK Conversion
40      0      1     0.029     150E-6       5.8e+03   1.6

# RGB to YIQ Conversion
41      0      1     0.11      150E-6       7.2e+03   1.6

# Dithering
42      0      1     0.029     150E-6       3.6e+03   1.6

# Image Rotation
43      0      1     0.0061    150E-6       1.2e+04   1.6

# Text Processing
44      0      1     0.0091    150E-6       1.4e+04   1.6

# src-sink
45      0      1     1e-05     150E-6       80        1.6

}
I want to "Import" this file to a spreadsheet "openoffice spreadsheet" in linux or "Microsoft Excel" in windows so that:

Informations like this line:

# type version valid task_time preempt_time code_bits task_power

to be shown in columns, I mean each item (like type, version, ...) in one column and the values below them in the related column.
But I want that the first column to be intended for the "comment" lines like:

# Angle to Time Conversion

# Basic floating point

# Bit Manipulation
...

So that the related value of each one, to be shown in front of each comment: in 2th column, 3th column, ...

I can do this work with copy them and paste in a spreadsheet file one by one, but I want it to be done completely Automatic!

One solution is: saving this file (.tgff) in ".csv" format in linux and select the "space" character as a separator.
but again, after opening it in the openoffice spreadsheet, we have to change some parts manually!

Anyway, is there a complete solution to do this?

Or is it required to have a program (some codes) to parse for example "#" items as "comment" in first column in linux and ...?

Or is there a Tool to do this in windows or specially in linux?

Or any Tip&Trick to do so?!

BTW, I've uploaded a sample ".xls" file in the following links to show the desired output in a spreadsheet together with ".tgff" file:

Code:
http://www.mediafire.com/?z2b6860ka40avdp
http://www.mediafire.com/?ts97g7529u2o9hx
I'll await your good suggestions please?!

TIA.
 
Old 10-05-2010, 12:50 PM   #2
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
Looks like a suitable task for either awk or perl to me.

If the format of the text file is always the same - some
header info, #----, column headings ... - you can use awk
with NF and and then pattern matching to easily mangle text.


Cheers,
Tink
 
Old 10-05-2010, 02:25 PM   #3
kranthi.t2000
LQ Newbie
 
Registered: Oct 2010
Posts: 5

Rep: Reputation: 0
Smile Do it Table by Table

In Open Office, or even in excel, you can only do it table by table. I have observed that your data is not a one big table but a series of smaller ones.
If you're good at macros maybe you can code this. The Things that you have to do for a single table are this. This is in openoffice.

1. Copy a single table into spreadsheet, a text import dialog box will appear. Just ok it. This will make the data just dump in one column (assume at C1).
2. Assuming the column headers are in C5, put this formula in A7 : =IF(LEFT(C6,1)="#",C6,"") and in B6: =IF(LEFT(C6,1)="#","",C6) drag both formulas using handle button till the end Now, select all the formulaed cells, Ctrl+C, Ctrl+Shift+V and select only text option. I hope you got the comments beside the data.
3. Delete the copied data in C column, select from B6 to end, type Alt+d,x. You will get Text import dialog, Select Fixed Width, and put the separators in the gap between the items. Now you get the data in proper columns.
4. If you want to delete the unnecessary columns now, Select the table and put filter, from the dropdown list, select -empty- and select all the empty rows (shift +space) and ctrl + - them. Again select All from the dropdown list and remove the filter.
Post ur reply.
 
Old 10-05-2010, 03:19 PM   #4
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723
It might be possible to convert it to a CSV (comma-separated values, it's one of the simplest formats readable by a spreadsheet) file using perl or awk.
 
Old 10-05-2010, 03:54 PM   #5
tredegar
LQ 5k Club
 
Registered: May 2003
Location: London, UK
Distribution: Fedora38
Posts: 6,147

Rep: Reputation: 435Reputation: 435Reputation: 435Reputation: 435Reputation: 435
Basically, you are asking us to write, and give you a script to convert this file for you.

As you have probably realised, this isn't a trivial task, and we are unpaid (and frequently also unthanked) volunteers.

I suggest you read up on perl and awk, as suggested above, make a good attempt to write your own script, and then post it here if it isn't working for you, with the details of why it is failing.

Then you'll certainly get the help you need.

Good luck
 
Old 10-05-2010, 07:38 PM   #6
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
Not elegant, but it produces a usable result with the data
in the original post:
Code:
awk 'BEGIN{OFS=","}NR==6{$1="\"\"";print $0}NR>6&&/^#/&&$0!=""{printf "\"%s\",",gensub(/# /, "","g",$0)}NR>6&&!/^#/&&$0!=""{$1=$1;print $0}' snippet |head -n 10
"",type,version,valid,task_time,preempt_time,code_bits,task_power
"Angle to Time Conversion",0,0,1,9e-06,150E-6,6.9e+04,1.6
"Basic floating point",1,0,1,2.3e-05,150E-6,5.8e+04,1.6
"Bit Manipulation",2,0,1,0.00049,150E-6,2.9e+04,1.6
"Cache Buster",3,0,1,3.5e-06,150E-6,2e+04,1.6
"CAN Remote Data Request",4,0,1,1.8e-06,150E-6,1.4e+04,1.6
"Fast Fourier Transform (Auto/Indust. Version)",5,0,1,0.014,150E-6,7.1e+04,1.6
"Finite Impulse Response Filter (Auto/Indust. Vers)",6,0,1,6.9e-05,150E-6,1.7e+04,1.6
"Infinite Impulse Response Filter",7,0,1,8e-05,150E-6,8.7e+04,1.6
"Inverse discrete cosine transfom",8,0,1,0.00091,150E-6,7.5e+04,1.6
Redirect that to a CSV-file, open in scalc and it
should look good enough.


Cheers,
Tink

Last edited by Tinkster; 10-05-2010 at 07:42 PM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Manipulate text file to allow import to excel dimothy Linux - Software 3 06-14-2010 07:50 AM
Save data in excel spreadsheet? Shioni Programming 3 07-29-2006 08:15 PM
convert text file to binary excel file ust Linux - General 2 11-23-2004 02:33 AM
Excel-like spreadsheet for Unix w/ ODBC Capability? sleepymish Linux - Newbie 3 01-12-2004 03:41 PM
mySQL and excel spreadsheet zuessh Linux - Software 1 06-12-2003 07:26 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 02:34 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration