背景
言語処理100本ノック 2015を今やっているのでその備忘録的なやつ。
結果
▼ Pythonで行数カウント
> import pandas as pd > data = pd.read_table('http://www.cl.ecei.tohoku.ac.jp/nlp100/data/hightemp.txt', header=None) > len(data) > 24
▼Unixコマンドで行数カウント
> wc -l /Path/To/hightemp.txt > 24
解説/考察
今回はPythonでtxtファイルを読み込むためにpandasを使用しました。
CSVファイルを読み込む場合はread_csvを、txtの場合はread_tableを使用します。
import pandas as pd # CSVを読み込み pd.read_csv('/Path/To/Csv.csv') # Textを読み込み pd.read_table('/Path/To/Text.txt')
オプションで区切り文字の指定が可能ですが、デフォルトでread_csv=","/read_table="Tab"になっているので指定しなくても問題ないです。
ちなみにheaderオプションを指定しないと勝手に先頭行をヘッダーとしてデータフレームが作成されます。
今回はhightemp.txt内にヘッダーにあたる行が存在しないので、headerオプションを使用して先頭行がヘッダーにならないようにしています。
> data = pd.read_table('/Path/To/Text.txt', header=None)
こんな感じにデータが読み込まれました。
ヘッダーは数字になってますね。
ちなみにjupyter notebookを使用しています。
あとはlen()を使用して行数をカウントできます。
> len(data) > 24
.indexを使用して行数を確認することも可能です。
> data.index > RangeIndex(start=0, stop=24, step=1)
今回はUnixコマンドのwcを使用して行数を確認するよう指示されているのでUnixコマンドでも同様のことをやりました。
wc -l /Path/To/Text.txtで行数確認ができるので一瞬で終わりましたw
> wc -l /Path/To/hightemp.txt > 24