PythonでのCSVファイルの読み込みと出力方法

python
記事内に広告が含まれています。

Pythonは、さまざまなデータ形式に対応しており、その中でもCSVファイルを扱うことが非常に簡単です。

この記事では、Pythonを使ってCSVファイルの読み込みと出力を行う方法について詳しく解説します。

基本的な方法から、実際のコード例を交えながらステップバイステップで進めていきますので、初心者でも安心して実践できます。

これを機に、PythonのCSV操作のスキルを習得し、データの扱いをより効率化していきましょう。

DMM WEBCAMP
  • 未経験者向けプログラミングスクール
  • 現役エンジニアがしっかりサポート
  • 卒業後も安心の転職・副業サポート

PythonでCSVファイルを読み込む基本的な方法

PythonでCSVファイルを読み込むには、標準ライブラリのcsvモジュールを使用します。

このモジュールを使うことで、簡単にCSVファイルの内容を操作することができます。

まずは、基本的なCSVファイルの読み込み方法を見ていきましょう。

csv.readerを使った読み込み

最も一般的な方法は、csv.reader関数を使うことです。

この関数は、指定したCSVファイルを1行ずつ読み込むために使用します。

例として、次のコードをご覧ください。

python
import csv

with open('sample.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)

このコードは、sample.csvというCSVファイルを開き、その内容を1行ずつ出力します。

csv.readerを使うことで、各行がリスト形式で読み込まれます。

ヘッダー行をスキップする方法

CSVファイルには、ヘッダー行(列名が含まれる最初の行)が含まれることがよくあります。

この場合、ヘッダー行をスキップしてデータ部分のみを読み込むことが可能です。

python
import csv

with open('sample.csv', 'r') as file:
reader = csv.reader(file)
next(reader) # ヘッダー行をスキップ
for row in reader:
print(row)

このコードでは、next()を使用して最初の行をスキップし、2行目以降のデータを読み込んでいます。

エラーハンドリング

CSVファイルを読み込む際に、予期しないエラーが発生することがあります。

このような場合には、try-except構文を使ってエラーハンドリングを行うことができます。

python
import csv

try:
with open('sample.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
except FileNotFoundError:
print("ファイルが見つかりません。")

この例では、FileNotFoundErrorが発生した場合、エラーメッセージを表示します。

CodeCamp
  • 現役エンジニアからスキルを学べる
  • 満足度は驚異の97.4%
  • 300社以上のIT企業で研修に導入
  • 毎日9時〜21時まで、無料カウンセリングを開催中!

PythonでCSVファイルにデータを出力する方法

CSVファイルにデータを出力する際も、csvモジュールが便利です。

次は、CSVファイルにデータを書き込む方法を見ていきましょう。

csv.writerを使ったデータの書き込み

基本的なデータの書き込みには、csv.writerを使用します。

次のコード例では、リスト形式のデータをCSVファイルに書き込む方法を示しています。

python
import csv

data = [
['名前', '年齢', '職業'],
['山田太郎', '30', 'エンジニア'],
['田中花子', '25', 'デザイナー']
]
 
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)

このコードでは、output.csvという新しいファイルにデータが書き込まれます。

複数行のデータをまとめて出力する際に便利です。

デリミタを変更する方法

デフォルトでは、CSVファイルの区切り文字はカンマ(,)ですが、他の区切り文字に変更することも可能です。

例えば、タブ区切りのファイルを作成する場合、次のようにします。

python
import csv

data = [
['名前', '年齢', '職業'],
['山田太郎', '30', 'エンジニア'],
['田中花子', '25', 'デザイナー']
]

with open('output_tab.csv', 'w', newline='') as file:
writer = csv.writer(file, delimiter='\t')
writer.writerows(data)

この例では、タブ文字が区切り文字として使われているため、.tsv形式のファイルを生成することも可能です。

1行ずつデータを追加する方法

既存のCSVファイルに1行ずつデータを追加する場合には、csv.writer.writerowを使用します。

次のコードでは、既存のファイルに新しいデータを追加しています。

python
import csv 

new_data = ['佐藤一郎', '40', 'マネージャー']

with open('output.csv', 'a', newline='') as file:
writer = csv.writer(file)
writer.writerow(new_data

このコードは、output.csvに新しい行を追加します。

【リモートワークには必須】
キャリアに合わせてお得に光回線を利用しよう
ドコモ光
開通後、最短一ヶ月で35,000円のキャッシュバック!
 
auひかり
難しい条件一切なしで、最大12,7000円のキャッシュバック!
 
ソフトバンク光
高額キャッシュバックや豪華特典をお届け!

pandasを使ったCSVファイルの操作

Pythonでは、pandasライブラリを使って、より高度なCSVファイルの操作を行うことが可能です。

ここでは、pandasを使った基本的な方法を紹介します。

pandas.read_csvを使った読み込み

pandasを使うと、CSVファイルの読み込みが非常に簡単になります。

以下は、read_csvを使ったCSVファイルの読み込み例です。

python
import pandas as pd

df = pd.read_csv('sample.csv')
print(df)

このコードは、CSVファイルの内容をデータフレーム形式で読み込みます。

pandas.to_csvを使った書き込み

pandasを使って、データフレームをCSVファイルに書き込むことも簡単です。

次のコード例をご覧ください。

python
import pandas as pd

data = {
'名前': ['山田太郎', '田中花子'],
'年齢': [30, 25],
'職業': ['エンジニア', 'デザイナー']
}

df = pd.DataFrame(data)
df.to_csv('output_pandas.csv', index=False)

このコードでは、データフレームをCSVファイルに出力しています。

pandasは、自動的にインデックスを付けるため、index=Falseでそれを防ぐことができます。

特定の列のみを読み込む方法

CSVファイルの中から、特定の列だけを読み込むことも可能です。

次のコードでは、’名前’列のみを読み込んでいます。

python
import pandas as pd

df = pd.read_csv('sample.csv', usecols=['名前'])
print(df)

このコードは、CSVファイルの中から指定した列のみを抽出します。

プログラミングスクール受講時には教育訓練給付制度を利用することで、受講料の最大80%の給付を受けることが可能です。

まとめ

Pythonを使ったCSVファイルの読み込みと出力は、非常に簡単かつ効率的です。

標準のcsvモジュールや、pandasを活用することで、さまざまなデータ操作が可能になります。

これらの技術を使いこなして、データ処理を効率化しましょう。

【給付金が受けられる】おすすめプログラミングスクール!
  • DMM WEBCAMP
    転職成功率98%&離職率2.3%
    転職できなければ全額返金DMM.comグループならで非公開求人も多数
  • テックアカデミー
    【転職保証】受講生の100%が内定獲得!9割以上が未経験からスタート!LINEヤフー監修&万全サポート
  • Aidemy Premium
    【給付金利用の相談歓迎】AI・データ分析学ぶならAidemy Premium
  • ウズウズカレッジ
    初心者・文系出身者でもOK、IT未経験からの専門的な就業サポート

 

コメント

タイトルとURLをコピーしました