問. popular-names.txtは,アメリカで生まれた赤ちゃんの「名前」「性別」「人数」「年」をタブ区切り形式で格納したファイルである.以下の処理を行うプログラムを作成し,popular-names.txtを入力ファイルとして実行せよ.さらに,同様の処理をUNIXコマンドでも実行し,プログラムの実行結果を確認せよ.
行数をカウントせよ.確認にはwcコマンドを用いよ.
解答例
unixのwgetコマンドを利用してテキストをダウンロードする。
wget https://nlp100.github.io/data/popular-names.txt
もしくは、curlコマンドも利用できるが、その場合、ファイル名を指定してやる。
(指定しなければ、そのままファイルの中身を表示する。)
curl https://nlp100.github.io/data/popular-names.txt > name.txt
(popular-names.txtの中身をname.txtというファイル名で保存。リダイレクション「>」はファイル上書きを行い、「>>」はファイル追記を行う。)
その後、Pythonで次のプラグラムを実行する。
#pandasをインポート
import pandas as pd
#dfの定義。read_tableを使ってテキストファイルを読み込む。
df = pd.read_table('./popular-names.txt', header=None, sep='\t', names=['name', 'sex', 'number', 'year'])
# dfの長さを「len」(=length)で表示。
print(len(df))
出力
2780
len関数は文字列の長さなどを読み込むが、今回はテーブルデータなので、行数を数える。
unixコマンドでの確認
wc -l ./popular-names.txt
出力
2780 ./popular-names.txt
参考リンク
【言語処理100本ノック 2020】第2章: UNIXコマンド
Pandasのread_tableでtxtファイルを読み込む方法
データベースの用語を理解しよう 「テーブル」「レコード」「カラム」「フィールド」とは?
0 件のコメント:
コメントを投稿