📄

巨大なCSVファイルを開く色々な方法

この記事は公開から2年以上経過しています。内容が古くなっている可能性があります。

はじめに

Pythonで巨大なCSVファイルを作成する方法を前回紹介しました。

今回は、巨大なCSVファイルを読み込む方法を紹介します。 FinderのクイックルックやVSCodeのプレビュー機能では、巨大なCSVファイルを開くことができません。 その場合は、以下の方法を試してください。

先頭から数行だけ読み込む

1. headコマンドを使用する

headコマンドは、ファイルの先頭部分を表示するためのコマンドです。数行だけ見たい場合にはこれが便利です。

head -n 10 <CSVファイル>.csv

このコマンドは、先頭10行を表示します。

head-n10.png

2. lessコマンドを使用する

lessコマンドは、ファイルの内容をページ単位で閲覧するためのコマンドです。大きなファイルでも快適に閲覧できます。

less <CSVファイル>.csv

qキーを押すと、lessから抜けることができます。

less.png

3. Pythonを使用する

Pythonを使用してCSVファイルを開くこともできます。以下はPythonスクリプトの例です。

import pandas as pd

# CSVファイルの最初の数行を読み込む
df = pd.read_csv('<CSVファイル名>.csv', nrows=10)
print(df)

このスクリプトは、<CSVファイル名>.csvの先頭10行を読み込み、それを表示します。Pythonスクリプトを実行するには、ターミナルで以下のコマンドを使用します。

python main.py

python_line_number.png

特定の行を読み込む

特定の行を見る方法について説明します。以下に、特定の行を表示するためのいくつかの方法を紹介します。

1. sedコマンドを使用する

sedコマンドを使って、特定の行を表示できます。例えば、10行目を表示する場合は以下のようにします。

sed -n '10p' <CSVファイル>.csv

sed-n10.png

複数の特定の行を表示するには、カンマで範囲を指定します。例えば、10行目から20行目を表示する場合は以下のようにします。

sed -n '10,20p' <CSVファイル>.csv

awk10-20.png

2. awkコマンドを使用する

awkコマンドを使って、特定の行を表示することもできます。例えば、10行目を表示する場合は以下のようにします。

awk 'NR==10' <CSVファイル>.csv

awk10.png

10行目から20行目を表示する場合は以下のようにします。

awk 'NR>=10 && NR<=20' <CSVファイル>.csv

awk10-20.png

4. Pythonを使用する

Pythonを使用して、特定の行を表示することもできます。以下に例を示します。

import pandas as pd

line_number = 10
df = pd.read_csv('<CSVファイル名>.csv', skiprows=line_number - 1, nrows=1)
print(df)

このスクリプトは、10行目を読み込み、それを表示します。

python_line_number10.png

さいごに

利用用途に合わせて利用してみてください

新着記事

関連ネットワーク(beta)

ドラッグで移動 / Ctrl+ホイールでズーム