2013-04-04 47 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'] 

這可能不是什麼你的意思是...