2013-04-04 84 views
0

我现在的CSV文件Python脚本来分类的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,乔吹,6

5.csv
4,2,5,雪儿,0
1,1,5-,弗雷德打火石,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

我怀疑mylist == variablefile曾经返回True因为mylisttuplevariablefile是一个字符串,据我可以告诉。

这也可以解释为什么你没有得到一个TypeError当您尝试添加一个列表转换为字符串:

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

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

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

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