こんにちはフロントエンドエンジニアのまさにょんです!
今回は、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を指定の行数まで切り取る方法のポイントをまとめると、次のとおりです。
- CSVの加工操作をするために
Pandas
を利用して、Dataframe
にします。 iloc
で、指定の区間の行を切り取る。iloc
はPandas
において、DataFrame
やSeries
の要素を整数の位置指定で切り取るためのメソッド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!
神聖グンマー帝国の逆襲🔥
神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!