回答 受付中

pythonについて質問です。

  • すぐに回答を!
  • 質問No.9596553
  • 閲覧数92
  • ありがとう数1
  • 気になる数0
  • 回答数3

お礼率 20% (1/5)

2つのテキストファイルを読み込み、以下の処理を行い新しいテキストファイル(csv)に書き込みたいのですがわかる方いましたら教えてください。
(処理内容)
test1.txtにしか無いキーの場合、値を2倍
test2.txtにしか無いキーの場合、値を10倍
test1とtest2の同一のキーが有る場合、値を足して4倍にする。

[test1.txt]
key 値
10 1000
20 2000
30 3000
40 4000

[test2.txt]
key 値
1 10
10 100
17 170
30 300
40 400

【理想結果】
key 値
1 100
10 4400
17 1700
20 4000
30 13200
40 17600

[ソース]
def read2dic(p,d):
・with open(p,"r") as f:
・・for l in f:
・・・s=l.replace("\n","").split("")
・・・d[s[0]]=int(s[1])

a={}
b={}
read2dic("test1.txt",a)
read2dic("test2.txt",b)
bkeys=b.keys()
for k,v in a.items():
・if k in bkeys:
・・bv=b[k]
・・del b[k]
・・a[k]=(v+bv)*4
・else:
・・a[k]=v*2

for k,v in b.items():
・a[k]=v*10

回答 (全3件)

  • 回答No.3

ベストアンサー率 17% (82/457)

最後に
c=sorted(a.items())

for k,v in c:
print(k,v)

を追加してください。
  • 回答No.2

ベストアンサー率 17% (82/457)

中身確認しました。
理想結果にするにはソートの処理が出来ていませんね。
お礼コメント
kybxox

お礼率 20% (1/5)

わかりました。
理想結果のように辞書からcsvに書き込むことは可能でしょうか?
投稿日時 - 2019-03-14 08:49:59
  • 回答No.1

ベストアンサー率 17% (82/457)

s=l.replace("\n","").split("")  を
s=l.replace("\n","").split(" ")  にしたら正常終了しました。

中身は見ていません。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集

ピックアップ

ページ先頭へ