我当前的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
我一直在抨击各种语法,但得到相同的结果。我在这里错过了什么?如果您有解决方案,请提供代码建议。我很难过。
答案 0 :(得分:1)
我怀疑mylist == variablefile
永远会返回True
,因为mylist
是tuple
而variablefile
是一个字符串,据我所知。
这也解释了当您尝试向字符串添加列表时未获得TypeError
的原因:
(sorted("ClientName")) + '\n'
并且,sorted("ClientName")
将返回
['C', 'N', 'a', 'e', 'e', 'i', 'l', 'm', 'n', 't']
这可能不是你的意思......