【Python】言語処理100本ノック2020 13. col1.txtとcol2.txtをマージ
問題
12で作ったcol1.txtとcol2.txtを結合し,元のファイルの1列目と2列目をタブ区切りで並べたテキストファイルを作成せよ.確認にはpasteコマンドを用いよ..
環境
Macbook
Python3.7.7
ソースコード
GitHubを載せておきます。
あくまで一例です。
もっと効率的な書き方は調べると出てきます。 (ただ個人的には難しかった…)
#col1・col2.txtの作成(practice12を参照) import pandas as pd df = pd.read_table('chart2/popular-names.txt',header=None,names=['name','sex','number','year']) col1 = df['name'] clo1 = col1.to_csv('chart2/practice13/col1.txt',index=False) col2 = df['sex'] col2 = col2.to_csv('chart2/practice13/col2.txt',index=False) #連結 col1 = pd.read_table('chart2/practice13/col1.txt') col2 = pd.read_table('chart2/practice13/col2.txt') merged_txt = pd.concat([col1,col2], axis = 1) print(merged_txt.head())
今回も、問題12と同様にpandasを使ってみましたpandasのread_tableというものを使って、
表形式に落とし込んでいます。
表形式にする際にカラム名を設定しているため、そのカラム名を指定してデータを抜き出し、csvでテキストファイルとして保存をしています。
その後、それぞれのテキストを読み込みながら、pandasのconcatを使い横連結しています。
以上ですm( )m