CSVファイルからデータを読み取って(A)、データを抽出して、別のCSVファイルに書き込もうとしています(B)。新しいファイルBには、2つの列が必要です。列1はファイルAの列1の名前をリストし、列2はファイルAの列1の数をリストします。たとえば、ファイルAが「:」なしで次のようになっている場合(2列に並んでいます):
Animal: Gender
Rabbit: Male
Dog: Male
Rabbit: Female
Cat: Male
Cat: Male
Dog: Female
Dog: Male
Turtle: Male
ファイルBの出力を次のようにしたいと思います(実際には、「:」のない別の列にあります)。
Animal: Count
Cat: 2
Dog: 3
Rabbit: 2
Turtle: 1
私がこのようなことをするのはこれが初めてであり、これは私がこれまでに行ったことですが、ファイルBにデータを印刷して、「カウント」を正しく行うことができません。誰かがこれを手伝ってくれませんか?
import csv
ReadData=csv.reader(open('C:\Users\..\FileA.csv','rb'), delimiter=',')
def column(ReadData, i):
return [row[i] for row in ReadData]
for line in ReadData:
WriteData=csv.writer(open('C:\Users\..\FileB.csv','wb'),
delimiter=' ', quotechar=':', quoting=csv.QUOTE_ALL)
print column(ReadData,1)
よろしくお願いします!