2012-10-15 55 views
-2
$ cat customer.csv 
customerno, firstname, lastname, sales 
23242, john, doe, 2345.00 
23253, jane, doe, 1234.00 
23221, greg, johnson, 2345.00 
, howard, gardner, 2345.00 

以下代码按预期工作,它会反转列顺序。更改列顺序

import csv 
with open('customer2.csv', 'wb') as output: 
    input = csv.reader(open('customer.csv', 'rb')) 
    output = csv.writer(output, dialect=input.dialect) 
    for line in input: 
     line.reverse() 
     output.writerow(line) 

$ cat customer2.csv 
sales, lastname, firstname,customerno 
2345.00, doe, john,23242 
1234.00, doe, jane,23253 
2345.00, johnson, greg,23221 
2345.00, gardner, howard,

但我真正需要的不是4,3,2,1而是4,2,3,1序列。预期成果:

$ cat newfile.csv 
sales, lastname, firstname, lastname, customerno 
2345.00, john, doe, 23242 
1234.00, jane, doe, 23253 
2345.00, greg, johnson, 23221 
2345.00, howard, gardner,

回答

4
(customerno, firstname, lastname, sales) = line 
outLine = (sales, firstname, lastname, customerno) 
output.writerow(outLine) 
+0

收到错误#ValueError异常:必须大于0值解压 – shantanuo

+0

异常处理手册的部分解决了这个问题。谢谢。 – shantanuo