[Tutor] Converting a string into dictionary references
Christian Witts
cwitts at compuscan.co.za
Mon Apr 23 15:59:16 CEST 2012
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
> <mailto:joel.goldstick at gmail.com>> wrote:
>
> On Mon, Apr 23, 2012 at 8:56 AM, Gerhardus Geldenhuis
> <gerhardus.geldenhuis at gmail.com
> <mailto: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 <mailto: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
//
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120423/cf48e92f/attachment.html>
More information about the Tutor
mailing list