1. 程式人生 > >Python:CSV讀寫(以字典的方式處理)

Python:CSV讀寫(以字典的方式處理)

#!/usr/bin/env python
# coding:UTF-8


"""
@version: python3.x
@author:曹新健
@contact: [email protected]
@software: PyCharm
@file: CSV讀寫2.py
@time: 2018/11/13 14:27
"""
import csv

#csv的DictReader()和DictWriter()方法將以字典的方式處理csv檔案,實質上是以OrderedDict方式進行處理
#預設將CSV檔案的第一列作為欄位名
def csvDictReader1(path):
    with open(path) as rf:
        reader = csv.DictReader(rf)
        items = list(reader)
    return items

#指定欄位名,第一列也為資料
def csvDictReader2(path,fieldnames):
    with open(path) as wf:
        reader = csv.DictReader(wf,fieldnames=fieldnames)
        items = list(reader)
    return items

def csvDictWriter(path,data,fieldnames):
    with open(path,"w",newline="") as wf:
        writer = csv.DictWriter(wf,fieldnames=fieldnames)
        writer.writeheader()
        writer.writerows(data)

if __name__ == "__main__":
    fieldnames = ["aaa", "bbb", "ccc", "ddd"]
    csvItems1 = csvDictReader1("111.csv")
    csvItems2 = csvDictReader2("222.csv", fieldnames)
    csvDictWriter("333.csv",csvItems1,fieldnames)
    csvDictWriter("444.csv",csvItems2,fieldnames)