質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

2313閲覧

Pythonで1列目が同じ文字列の行は、2列目のデータを横に並べたい

kyyonko2

総合スコア7

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/10/13 09:15

###前提・実現したいこと
可能であればpandasなどのライブラリを使わず、標準入力で1行ずつ読みこんで、(sys.stdinなどで)
1番左の列がkeyであるとして、そのkeyが同じであれば、2列目のvalueを横に並べ替えて表示したいです。

下に示す知恵袋のデータの例を元にすると、以下のような作業です。

keyvalue
シェイクストロベリー
シェイクバナナ
シェイクメロン
ハンバーガー月見
ハンバーガーチーズ
ハンバーガーてりやき
ハンバーガーチキン
ポテトS
ポテトM
ポテトL

|シェイク|ストロベリー|バナナ|メロン|
|ハンバーガー|月見|チーズ|てりやき|
|ポテト|S|M|L|

実際のデータは横の長さ(valueに入る異なる値の数)はかなり大きいです。

Excelだとこういったようにできるようですが、これをPythonで行いたいです。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1332873048

どなたかお知恵を貸していただけますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんな感じでしょうか。

Python

1import sys 2 3input_dict = {} 4for line in sys.stdin: 5 key, value = line.split() 6 if key in input_dict: 7 input_dict[key].append(value) 8 else: 9 input_dict[key] = [key, value] 10 11for key, values in input_dict.items(): 12 print('\t'.join(values)) 13 14"""実行結果 15シェイク ストロベリー 16シェイク バナナ 17シェイク メロン 18ハンバーガー 月見 19ハンバーガー チーズ 20ハンバーガー てりやき 21ハンバーガー チキン 22ポテト S 23ポテト M 24ポテト L 25EOF 26シェイク ストロベリー バナナ メロン 27ハンバーガー 月見 チーズ てりやき チキン 28ポテト S M L 29"""

投稿2017/10/13 09:27

編集2017/10/13 09:46
LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kyyonko2

2017/10/13 09:33

ありがとうございます!! ミスリーディングですみません…出力結果の「|」はいらなかったですね…Markdown記法がうまくいってなかったです、申し訳ありません。
LouiS0616

2017/10/13 09:38

二次元リストにしたいということでしょうか?
kyyonko2

2017/10/13 09:44

シェイク ストロベリー バナナ メロン ハンバーガー 月見 チーズ てりやき ポテト S M L のようにすべてタブ区切りにしたいと考えています。
kyyonko2

2017/10/13 09:47

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問