1. 程式人生 > 其它 >python 操作csv檔案

python 操作csv檔案

一、使用csv模組進行讀寫

1、通過writer和reader物件進行寫和讀操作

  • 寫操作

  通過建立writer物件寫入:

    1. 建立資料和表頭
    2. 建立writer物件
    3. 寫表頭
    4. 遍歷列表,將每一行資料寫入

  案例一(每次寫入一行):

import csv

# 資料
person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]
# 表頭
header = ['name', 'age', 'height']

with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:
    # 建立物件
    writer = csv.writer(file_obj)
    # 寫表頭
    writer.writerow(header)
    # 遍歷,將每一行的資料寫入csv
    for p in person:
        writer.writerow(p)

說明:newline='' 是為了防止換行寫入

  案例二(一次性寫入多行):

import csv

# 資料
person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]
# 表頭
header = ['name', 'age', 'height']

with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:
    # 建立物件
    writer = csv.writer(file_obj)
    # 寫表頭
    writer.writerow(header)
    # 3.寫入資料(一次性寫入多行)
    writer.writerows(person)
  • 讀操作

  通過reader物件讀取

  案例:

import csv

with open('person.csv', 'r', encoding='utf-8') as file_obj:
    # 1.建立reader物件
    reader = csv.reader(file_obj)
    # 2.遍歷進行讀取資料
    for r in reader:
        print(r)

2、通過dictwriter和dictreader物件進行寫和讀操作

  • 寫操作

  1. 建立資料和表頭(資料必須是字典格式)
  2. 建立dictwriter物件
  3. 寫表頭
  4. 寫入資料

  案例:

import csv

# 資料
person = [
    {'name': 'xxx', 'age': 18, 'height': 193},
    {'name': 'yyy', 'age': 18, 'height': 182},
    {'name': 'zzz', 'age': 19, 'height': 185},
]
# 表頭
header = ['name', 'age', 'height']

with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:
    # 1.建立DicetWriter物件
    dictWriter = csv.DictWriter(file_obj, header)
    # 2.寫表頭
    dictWriter.writeheader()
    # 3.寫入資料(一次性寫入多行)
    dictWriter.writerows(person)
  • 讀操作

  案例:

import csv

with open('person.csv', 'r', encoding='utf-8') as file_obj:
    # 1.建立reader物件
    dictReader = csv.DictReader(file_obj)
    # 2.遍歷進行讀取資料
    for r in dictReader:
        print(r)

二、使用pandas模組進行讀寫