Python脚本将导出的csv文件排序为空

时间:2013-04-04 20:35:57

标签: python csv python-2.7

我当前的csv文件

Client.csv:

RecNo,AdultNo,NoChild,ClientName,CAT  
1,1,5,Fred Flintstone,0  
2,10,2,Georia OKeefe,5  
3,2,4,Joe BLow,6  
4,2,5,Cher,0  

所需输出是按NoChild分组,然后按ClientName排序,然后将组导出为单独的csv文件。

因此,对于Client.csv文件,我会有

1.csv - 空

2.csv
2,10,2,Georia OKeefe,5

3.csv - 空

4.csv
3,2,4,Joe BLow,6

5.csv
4,2,5,谢尔,0
1,1,5,Fred Flintstone,0

我得到所有5个csv文件,但是它们是空的。我错过了什么?

下面是我的Python 2.7代码:

import csv

counter = ("1","2","3","4","5")
for variablefile  in counter:
    inputCSVFile = "C:\\Test\\Client.csv"
    variable_CSV = "C:\\Test\\" + variablefile + ".csv"

    with open(variable_CSV , 'wb') as f:
        with open(inputCSVFile) as test:
            reader = csv.DictReader(test)
            for row in reader:
                mylist = tuple([row["NoChild"] for row in reader])
                print mylist
                if mylist == variablefile:
                    print mylist
                    f.write((sorted("ClientName")) + '\n')
                else:
                    exit

我一直在抨击各种语法,但得到相同的结果。我在这里错过了什么?如果您有解决方案,请提供代码建议。我很难过。

1 个答案:

答案 0 :(得分:1)

我怀疑mylist == variablefile永远会返回True,因为mylisttuplevariablefile是一个字符串,据我所知。

这也解释了当您尝试向字符串添加列表时未获得TypeError的原因:

(sorted("ClientName")) + '\n'

并且,sorted("ClientName")将返回

['C', 'N', 'a', 'e', 'e', 'i', 'l', 'm', 'n', 't']

这可能不是你的意思......