Python問題集を解いてみよう!!

【Python】ヘッダーありのCSVをヘッダー無しで読み込む【Pandas】

当ページのリンクには広告が含まれています。
ヘッダーありのCSVをヘッダー無しで読み込む

LINE オプチャに投稿された質問に回答したので、その内容を紹介します。

Pyボーイ

read_csv で csv ファイルを読み込む際、列名の行を無視したいのですが、うまくいきません。
引数に header を指定し、header=None にしても列名の行が index0 の0行目として残ってしまいます。

Pandas の read_csv()メソッドに関する質問です。

列名(ヘッダー)がある CSV ファイルを読み込む際に列名を無視したい、ということです。

具体的には、次のような CSV ファイルを読み込んだ時に「a,b,c,d,e」を無視して、「1 〜 25」の数値のみを読み込みたい、ということです。

a,b,c,d,e
1,2,3,4,5
6,7,8,9,10
11,12,13,14,15
16,17,18,19,20
21,22,23,24,25
目次

read_csv() デフォルト設定

まずはread_csv()メソッドのデフォルト設定で読み込んでみます。

import pandas as pd

df = pd.read_csv('/content/test.csv')

print(df)
read_csv()デフォルト設定

read_csv()のデフォルト設定だと1行目がヘッダーとして読み込まれます。

header=Noneを指定

次に、質問にあるようにheader=Noneを指定してみます。

import pandas as pd

df = pd.read_csv('test.csv', header=None)

print(df)
read_csv() header=Noneを指定

header=Noneを指定すると、「CSV ファイル側にヘッダーは無いよ」という指定になるので、「a,b,c,d,e」も値として読み込まれます。

skiprows=1を指定

では、どうしたら良いのか。

答えは、skiprows=1を指定してあげます。これは1行目は読み込まない、1行目をスキップして読み込む、という指定になります。

import pandas as pd

df = pd.read_csv('test.csv', header=None, skiprows=1)

print(df)
read_csv() skiprows=1を指定

これで CSV ファイル側のヘッダーを無視して読み込むことができます。

Google Colaboratory

本記事に掲載しているコードは Google Colaboratory で動作を確認しています。

下記リンクからアクセスして、ご自身の Google ドライブにコピーしていただければ、すぐに実行できます。

環境構築の不要な Google が提供している Web サービスなので、Python を学習中の方にはオススメです。

おわりに

今回は、

ヘッダーありのCSVをヘッダー無しで読み込む方法

をご紹介しました。

以上です。

スポンサーリンク

ヘッダーありのCSVをヘッダー無しで読み込む

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次