0

我当前的 csv 文件

客户端.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,乔 BLow,6

5.csv
4,2,5,Cher,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

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

4

1 回答 1

1

据我所知,我怀疑mylist == variablefileever return Truesince mylistis a tupleand is a string。variablefile

TypeError这也解释了为什么在尝试将列表添加到字符串时没有得到 a :

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

而且,sorted("ClientName")会回来

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

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

于 2013-04-04T20:40:33.413 回答