CSVファイルを操作する

投稿者: | 2022-10-22

目次

CSVファイルへの書き込み

  • DictWriter で最初にヘッダーだけを書き込み、1行ずつ書き込む
import csv

with open('test.txt', 'w') as csv_file:
    
    fieldnames = ['Name', 'Count'] # ヘッダー部分
    writer = csv.DictWriter(csv_file, fieldnames)
    writer.writeheader()
    
    writer.writerow({'Name': 'A', 'Count': '1'})
    writer.writerow({'Name': 'B', 'Count': '2'})
                     
with open('test.txt', 'r') as csv_file:
    reader = csv.DictReader(csv_file)
    for row in reader:
        print(row['Name'], row['Count'])
  • ちなみに、DictReader で読み込んだ row を print すると辞書型で出力される
with open('test.txt', 'r') as csv_file:
    reader = csv.DictReader(csv_file)
    print(reader)
    for row in reader:
        print(row)

WindowsでCSVファイルをopenすると

  • WIndows で CSV ファイルを開くと、改行の文字コードが 「\r\n」 になってしまうため、CSV 読み込みの際2行に改行されてしまう。そのため、以下のように newline='' を入れて、CSV ファイルを開くこと
with opne('test.csv', 'w', newline='') as csv_file: