[Tutor] Converting a string into dictionary references
gerhardus.geldenhuis at gmail.com
Mon Apr 23 16:01:32 CEST 2012
Unfortunately I am not, this needs to happen in python.
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:
> 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?
> 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
>> > 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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Tutor