1. 程式人生 > >Python:以字典的形式處理CSV簡單封裝

Python:以字典的形式處理CSV簡單封裝

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


"""
@version: python3.x
@author:曹新健
@contact: [email protected]
@software: PyCharm
@file: CSV簡單封裝.py
@time: 2018/11/13 15:10
"""

import csv

def csvToList(path,allFieldNames):
    with open(path) as rf:
        reader = csv.DictReader(rf,fieldnames=allFieldNames)
        items = list(reader)[1:]
    return items

def rowOfFields(row,fieldNames):
    return {fieldName:row[fieldName] for fieldName in fieldNames}
def csvOfFields(csvDatas,fieldNames):
    return (rowOfFields(row, fieldNames) for row in csvDatas)


if __name__ == "__main__":
    allFieldNames = ["aaa", "bbb", "ccc", "ddd"]
    FieldNames = ["bbb", "ccc"]
    for FieldName in FieldNames:
        print(FieldName,end="\t\t"*2)
    print()
    csvdata = csvOfFields(csvToList("111.CSV",allFieldNames),FieldNames)

    for data in csvdata:
        for FieldName in FieldNames:
            print(data[FieldName],end="\t\t"*2)
        print()