Pythonのメモ帳

numpy, pandas, tensorflow を使いこなすための忘備録

pandasでcsvファイルを読み込む際にあえてカラム(列)を分けない

ファイルの読み込みはいくつか方法があることは前回の記事に書いた。

spcx8.hatenablog.com

 

読み込んだ後の処理を考えると、numpyやpandasで読みたい。でも中身が文字列を含む場合、numpyは使えないのでpandasで読むことになる。

困るのは読み込む対象のファイルの形式が整っていない場合。列数が揃っていない、特に先頭行の列数が少ない場合に読み込みエラーが起こる。

そんな場合は、あえて列を分けずにn行1列のデータフレームとして読み込む方法もある。以下のように引数の delimiter で改行コード'¥n'を指定すればOK。

import pandas as pd

df = pd.read_csv('data.txt', skiprows=0, header=None, delimiter='¥n', index_col=None)

列の分割はデータを読み込んだ後に必要な箇所だけ行う。DataFrameからリストやnumpy.ndarrayへの変換はいくつかの方法がある。それはまた別の機会に。