PythonでCSV・Dataframeを指定の行数まで切り取る方法

py_csv_cut

こんにちはフロントエンドエンジニアのまさにょんです!

今回は、PythonでCSV・Dataframeを指定の行数まで切り取る方法について解説します。

PythonでCSV・Dataframeを指定の行数まで切り取る方法

今回は、次のようなSample CSV を指定の行数まで切り取る方法をご紹介します。

id,participant,affiliation
1,"ロボたま","エンジニア"
2,"まりたま","エンジニア"
3,"白桃","営業部"
4,"ももちゃん","営業部"
5,"まさぴょん","営業部"
6,"まりぴょん","デザイナー"
7,"ハム太郎","エンジニア"
8,"ロボ太郎","デザイナー"
9,"まり太郎","デザイナー"
10,"ぷる玉","人事部"
11,"ぷるぷる玉","人事部"
12,"ロボ玉試作1号機","エンジニア"
13,"ロボ玉試作2号機","デザイナー"
14,"ロボ玉試作1号機","ロボ玉開発部"

PythonでCSVを指定の行数まで切り取る SampleCode

PythonでCSVを指定の行数まで切り取る方法のポイントをまとめると、次のとおりです。

  1. CSVの加工操作をするためにPandasを利用して、Dataframeにします。
  2. iloc で、指定の区間の行を切り取る。
    • ilocPandasにおいて、DataFrameSeriesの要素を整数の位置指定で切り取るためのメソッド
    • iloc は “integer location” (日本語で「整数の位置」) の略
    • 行と列の位置を指定することによって、データを取得または設定することができます。
############ Python Module の 説明 ############
# CSVを指定の行数までのものに Cut する Python Module
##############################################

import os
import pandas as pd

# 1. カットしたい CSVの ファイル名 & ファイル・Path
csv_file = 'robotama.csv'
csv_file_path = f'{os.getcwd()}/{csv_file}'

# 2. カットする行数(上から)
cut_row_num = 8

# 3. 業種分類の DataFlame を作成する
df = pd.read_csv(csv_file_path, encoding="utf-8")


def dataframe_cutter(df, start, end):
    """
    指定の区間だけDataFlameを切り取る関数

    Parameters:
    df (pandas.DataFrame): 切り取る元のDataFlame
    start (int): 切り取る開始行
    end (int): 切り取る終了行

    Returns:
    pandas.DataFrame: 指定の区間だけ切り取られたDataFlame
    """
    df = df.iloc[int(start):int(end), :]
    return df


# 4. DataFlameから、指定の区間(行数)だけ、切り取る Func
cut_df = dataframe_cutter(df, 0, cut_row_num)
print(cut_df)

new_csv_file = 'result.csv'
create_csv_file_path = f'{os.getcwd()}/{new_csv_file}'

# 5. DataFlame を CSV に変換して Export する
cut_df.to_csv(create_csv_file_path, index=None, header=True)

加工処理の結果: result.csv

CSVを指定の行数までCutする加工処理の結果 ( result.csv )の中身は、次のようになりました。

指定したとおり、8行目までだけを切り取って新しい CSVファイルが作成されました。

id,participant,affiliation
1,ロボたま,エンジニア
2,まりたま,エンジニア
3,白桃,営業部
4,ももちゃん,営業部
5,まさぴょん,営業部
6,まりぴょん,デザイナー
7,ハム太郎,エンジニア
8,ロボ太郎,デザイナー

Twitterやってます!Follow Me!

神聖グンマー帝国の逆襲🔥

神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!

Python関係書籍

プログラミング学習・エンジニア転職関連の情報

自宅で現役エンジニアから学べる『TechAcademy』 (エンジニア転職保証)

『GEEK JOBキャンプ』スピード転職コース(無料)

【IT道場】入校時0円! 就職目的プログラミングスクール

エンジニア転職なら100%「自社開発」求人に強い【クラウドリンク】

『techgym』 (Python特化・無料)

最近の投稿