I'm not confident this would run on gedit. It works on a python interpreter if 
you have a file named data.txt in the same directory containing your sample 
data.

It surely has to do with how gedit works then, because the "$" sign isn't used 
in python, this business should be a gedit convention. And sorry, I can't help 
on that, I'm not a user of gedit myself. Fortunately others have answered and I 
beleive one of the solutions worked for you.



________________________________
 From: Kurt Hansen <kurt@ugyldig.invalid>
To: python-list@python.org 
Sent: Sunday, January 6, 2013 3:21 PM
Subject: Re: How to modify this script?
 
Den 06/01/13 15.01, chaouche yacine wrote:
> Well, I'm not answering your question since I am rewriting the script,
> because I prefer it this way :)
> 
> def addline(line):
>      return "<tr>%s</tr>\n" % line
[cut]

I surpose I shall put your code between $< and >?

> printed
> 
>  >>> <table>
> <tr><td colspan='3'>Price table</td></tr>
> <tr><td>1 </td><td> Green apple </td><td> $1</td></tr>
> <tr><td>5 </td><td> Green apples </td><td> $4</td></tr>
> <tr><td>10 </td><td> Green apples </td><td> $7</td></tr>
> </table>
>  >>>

Aha, so you tested it yourself?

When running this in Gedit on four lines of tab-separated text the output is:

%s</tr>\n" % line

def addcolumn(item,nb_columns):
    if nb_columns != 3:
        return "<td colspan='%s'>%s</td>" % (3 - nb_columns + 1, item)
    return "<td>%s</td>" % item

output = "<table>\n"
for line in file("data.txt"):
    items = line.strip().split("\t")
    columns = ""
    for item in items :
        columns += addcolumn(item,len(items))
    output  += addline(columns)


output += "</table>"
print output
>
-- Venlig hilsen
Kurt Hansen
-- http://mail.python.org/mailman/listinfo/python-list
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to