PythonはCSVを複数のファイルに分割します
この記事では、Python で CSV ファイルを複数のファイルに分割する方法を学習します。 Pandas を使用して CSV ファイルを作成し、それを他の複数のファイルに分割します。
Pandas を使用して Python で CSV ファイルを作成する
Pandas を使用して Python で CSV を作成するには、最初に Command Line Interface (CLI) を使用して Pandas をインストールする必要があります。
pip install pandas
このコマンドは、Pandas をローカル マシンにダウンロードしてインストールします。 import
キーワードを使用すると、現在の Python プログラムに簡単にインポートできます。
Pandas がインストールされているかどうかを確認しましょう。
コード例:
import pandas as pd
print("The Version of Pandas is: ", pd.__version__)
出力:
The Version of Pandas is: 1.3.5
それでは、CSV
ファイルを作成しましょう。
コード例:
import pandas as pd
# create a data set
data_dict = {
"Roll no": [1, 2, 3, 4, 5, 6, 7, 8],
"Gender": ["Male", "Female", "Female", "Male", "Male", "Female", "Male", "Female"],
"CGPA": [3.5, 3.3, 2.7, 3.8, 2.4, 2.1, 2.9, 3.9],
"English": [76, 77, 85, 91, 49, 86, 66, 98],
"Mathematics": [78, 87, 54, 65, 90, 59, 63, 89],
"Programming": [99, 45, 68, 85, 60, 39, 55, 88],
}
# create a data frame
data = pd.DataFrame(data_dict)
# convert the data frame into a csv file
data.to_csv("studesnts.csv")
# Print the output
print(data)
出力:
Roll no Gender CGPA English Mathematics Programming
0 1 Male 3.5 76 78 99
1 2 Female 3.3 77 87 45
2 3 Female 2.7 85 54 68
3 4 Male 3.8 91 65 85
4 5 Male 2.4 49 90 60
5 6 Female 2.1 86 59 39
6 7 Male 2.9 66 63 55
7 8 Female 3.9 98 89 88
Python で CSV ファイルを複数のファイルに分割する
CSV
ファイルが正常に作成されました。 それを複数のファイルに分割してみましょう。ただし、異なるマトリックスを使用して、列または行に基づいて CSV を分割できます。
行に基づいて CSV ファイルを分割する
Python の行ベースで CSV ファイルを分割してみましょう。
コード例:
import pandas as pd
# read DataFrame
data = pd.read_csv("students.csv")
# number of csv files along with the row
k = 2
size = 4
for i in range(k):
df = data[size * i : size * (i + 1)]
df.to_csv(f"students{i+1}.csv", index=False)
file1 = pd.read_csv("students1.csv")
print(file1)
print("\n")
file2 = pd.read_csv("students2.csv")
print(file2)
出力:
Roll no Gender CGPA English Mathematics Programming
0 1 Male 3.5 76 78 99
1 2 Female 3.3 77 87 45
2 3 Female 2.7 85 54 68
3 4 Male 3.8 91 65 85
Roll no Gender CGPA English Mathematics Programming
4 5 Male 2.4 49 90 60
5 6 Female 2.1 86 59 39
6 7 Male 2.9 66 63 55
7 8 Female 3.9 98 89 88
上記のコードは、students.csv
ファイルを student1.csv
と student2.csv
の 2つの複数ファイルに分割しています。 ファイルは行単位で区切られています。 行 0 ~ 3 は student.csv
に格納され、行 4 ~ 7 は student2.csv
ファイルに格納されます。
列に基づいて CSV ファイルを分割する
groupby()
関数を使用して、列マトリックスに基づいて任意の CSV ファイルを分割できます。 groupby()
関数は Pandas ライブラリに属し、グループ データを使用します。
この場合、students
データを Gender
に基づいてグループ化しています。
コード例:
import pandas as pd
# read DataFrame
data = pd.read_csv("students.csv")
for (gender), group in data.groupby(["Gender"]):
group.to_csv(f"{gender} students.csv", index=False)
print(pd.read_csv("Male students.csv"))
print("\n")
print(pd.read_csv("Female students.csv"))
出力:
Roll no Gender CGPA English Mathematics Programming
0 1 Male 3.5 76 78 99
1 4 Male 3.8 91 65 85
2 5 Male 2.4 49 90 60
3 7 Male 2.9 66 63 55
Roll no Gender CGPA English Mathematics Programming
0 2 Female 3.3 77 87 45
1 3 Female 2.7 85 54 68
2 6 Female 2.1 86 59 39
3 8 Female 3.9 98 89 88
まとめ
データの分割は、データを理解し、効率的に並べ替えるのに役立つ便利なデータ分析手法です。
この記事では、Pandas ライブラリを使用して CSV ファイルを作成する方法について説明しました。 さらに、行単位と列単位のデータ分割という 2つの一般的なデータ分割手法についても説明しました。
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn