[Tutor] Converting a string into dictionary references

Gerhardus Geldenhuis gerhardus.geldenhuis at gmail.com
Mon Apr 23 16:01:32 CEST 2012


Yip,
Unfortunately I am not, this needs to happen in python.

Regards

On 23 April 2012 14:59, Christian Witts <cwitts at compuscan.co.za> wrote:

>  On 2012/04/23 03:46 PM, Gerhardus Geldenhuis wrote:
>
> Not quite,
>
>  I have csvfile1:
> column1, column2, column3, ... column200
>
>  That is my raw data but I want to use only 5 columns for example in a
> specific application.
>  I thus want a file with the following:
> column33,column1,column5
>
>  I then want to read the original csv file and write a new csv file with
> the requested columns only.
>
>  Does that make more sense?
>
>  Regards
>
> On 23 April 2012 14:41, Joel Goldstick <joel.goldstick at gmail.com> wrote:
>
>>  On Mon, Apr 23, 2012 at 8:56 AM, Gerhardus Geldenhuis
>> <gerhardus.geldenhuis at gmail.com> wrote:
>> > Hi
>> > Appologies about the subject I could not think of a better description.
>> >
>> > I have this very simple function:
>> >
>> > def readcsvfile(filename):
>> >   f = open(filename, 'ro')
>> >   csvdata = csv.DictReader(f)
>> >   for row in csvdata:
>> >     print row["column3"]+','+row["column1"]
>> >
>> > I have another inputfile that will be comma separated list of values.
>> > Eg:
>> > column3,column4,column10
>> >
>> > The idea is that I use this inputfile to tranform the original csv
>> file. I
>> > thus want a new file with only the specified columns. I am sure there
>> is an
>> > elegant way of doing this but I am not sure how to convert my print
>> > statement into something more dynamic. Any pointers would be
>> appreciated.
>> >
>> > Regards
>> >
>> > --
>> > Gerhardus Geldenhuis
>> >
>>  > _______________________________________________
>> > Tutor maillist  -  Tutor at python.org
>> > To unsubscribe or change subscription options:
>> > http://mail.python.org/mailman/listinfo/tutor
>> >
>>
>> So you want to take 'column1' and get back 1?, 'column10' and get back 10?
>>
>> s = 'column1'
>> i = int(s[6:])
>>
>> This will only work if your strings all start with the text 'column'
>>
>> --
>> Joel Goldstick
>>
>
>
>
>  --
> Gerhardus Geldenhuis
>
>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:http://mail.python.org/mailman/listinfo/tutor
>
>  If you don't need to use Python and are on a *nix machine you can use cut
> to do the work for you for eg and it might simplify your workflow.
>
> -d specifies the delimiter of the file, in this case a comma
> -f specifies the fields you want, in this case 1 to 3, 5, and 10
> cut -d, -f1-3,5,10 input_filename > output_filename
>
> --
>
> Christian Witts
> Python Developer
> **
>



-- 
Gerhardus Geldenhuis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120423/8693150c/attachment.html>


More information about the Tutor mailing list