easy but difficult
Amit Khemka
khemkaamit at gmail.com
Tue Oct 16 06:46:58 EDT 2007
On 10/16/07, Beema shafreen <beema.shafreen at gmail.com> wrote:
> hi everybody,
> I have a file separated by hash:
> as shown below,
> file:
> A#1
> B#2
> A#2
> A#3
> B#3
>
> I need the result like this:
> A 1#2#3
> B 2#3
>
> how will generate the result like this from the above file
> can somebody tell me what i have to do......
> My code:
> fh =open('abc_file','r')
> for line in fh.readlines():
> data = line.strip().split('#')
> for data[0] in line
> print line
>
> I tried but i donot know how to create 1#2#3 in a single line
> regards
> shafreen
While looping over the file you may store alphabets as key in a
dictionary and numbers as values.
for example:
<code_untested>
d = {}
for line in open('abc_file'):
data = line.strip().split('#')
# add the numbers to the 'alphabet' key as a list
d[data[0]] = d.get(data[0], []) + [data[1]]
<code_untested>
Now you can just iterate over the dictionary and write it into a file
Cheers,
--
--
Amit Khemka
More information about the Python-list
mailing list