同じパートであっても特定のタイプではない場合は、CSVファイル(これはBOM)に行を追加したい。ここ はそれがより明確にする例です。csvデータ内のpython3.xで "sumif"を実現する方法
LevelName,Type,Amount
Part_1,a,1
Part_1,a,1
Part_1,b,1
Part_1,c,1
Part_1,d,1
Part_1,f,1
Part_2,a,1
Part_2,c,1
Part_2,d,1
Part_2,a,1
Part_2,a,1
Part_2,d,1
Part_2,d,1
タイプは「D」である場合ので、私はいくつかアップし、すべての種類のパート内ではなく、する必要があります。 結果は次のようになります。
LevelName,Type,Amount
Part_1,a,2
Part_1,b,1
Part_1,c,1
Part_1,d,1
Part_1,f,1
Part_2,a,3
Part_2,c,1
Part_2,d,1
Part_2,d,1
Part_2,d,1
残念ながら私は、任意の外部のlibを使用することはできません。だから、パンダはここではオプションではない。私が得たどのくらいです
:
import csv
map = {}
with open('infile.csv', 'rt') as f:
reader = csv.reader(f, delimiter = ',')
with open('outfile.csv', 'w', newline='') as fout:
writer = csv.writer(fout, delimiter=';', quoting=csv.QUOTE_MINIMAL)
writer.writerow(next(reader))
for row in reader:
(level, type, count) = row
if not type=='d':
さて、ここで私はちょうど...先に任意のヒントのおかげ を得ることはありません!
ありがとうございました。 {'f':1、 'b':1、 'c':1、 'a':2}、 'Part_2':{'c':1}この結果は返されます。 、 'a':3}}となります。現時点で私の頭を壊しているのは、元の形式に戻すにはどうすればいいのですか?コピーする必要がある列がさらに多い場合はどうすればよいですか? – himself
元の形式に書き戻すための編集を参照してください。これは質問に答えますか? Upvote? –
はい。私は評判を欠場するので、私はupvoteすることはできません。ありがとうございました!、...ちょうど私がチェックできることを実現! – himself