🌟

PythonでCSVファイルの読み書き!

2024/03/24に公開

やりたいこと

PythonでCSVファイルの読み書きをしたい。
これの続きです。
https://zenn.dev/yskn11/articles/c76fe7d7f49360

Google Colaboratoryで引き続きやってます。

前提条件

以下のようなCSVがGoogle Driveに格納されてます。

no, 名前, 点数, 教科,
1, 太郎, 1, 数学
2, 花子, 3, 国語

やったこと

import csv
import os

csv_file_a = open("/content/drive/MyDrive/Sample/sample-a.csv", encoding="utf-8")

content_a = csv.DictReader(csv_file_a)

def extract_subject():
  """
  特定の科目以外を抽出
  """
  for line in content_a:
    # 特定の教科のみをスキップ
    if (" Subject", " 数学") in line.items():
      continue

    # 特定キーの削除
    del line["no"]

    # print
    print(line)

def remake_list():
  """
  特定の列だけのCSVを作成して保存しなおす
  """
  remaked_list = []
  for line in content_a:
    remaked_list.append(
      {
        "名前": line[" 名前"],
        "点数": line[" 点数"],
        "教科": line[" 教科"]
      }
    )
  print(remaked_list)

  # 新しいCSVファイルを作成
  if os.path.isfile("/content/drive/MyDrive/Sample/new-file.csv"):
    print("Fileあるよ")
    raise

  new_csv_file = open("/content/drive/MyDrive/Sample/new-file.csv", "w")
  header_line = ["名前", "点数", "教科"]
  for a in remaked_list:
    writer = csv.DictWriter(new_csv_file, fieldnames=header_line)
    writer.writeheader()
    writer.writerows(remaked_list)
  new_csv_file.close()

Discussion