python讀寫excel、csv文件

csv文件格式是一種通用的電子表格和數據庫導入導出格式。是excel表格的一種格式
python有一個專門對csv操作的包,就叫csv

import csv

def readfile(filename):
    """
    以列表形式讀
    :param filename:
    :return:
    """
    with open(filename, 'r') as fcsv:
        reader = csv.reader(fcsv)
        print(reader)
        # reader是一個可迭代對象
        for item in reader:
            print(item)

def readfile_dic(filename):
    """
    以字典形式讀
    :param filename:
    :return:
    """
    with open(filename, 'r') as fcsv:
        reader = csv.DictReader(fcsv)
        for item in reader:
            print(item)

import csv 

def writefile(filename):
    """
    以列表形式寫
    :param filename:
    :return:
    """
    with open(filename, 'a+', newline='') as fcsv:
        writer = csv.writer(fcsv)
        # 一次寫一行
        writer.writerow(['a', 'b', 'c'])
        # 一次寫多行
        writer.writerows([('a', 'b', 'c'), ('d', 'e', 'f')])


def writefile_dic(filename):
    """
    以字典形式寫
    :param filename:
    :return:
    """
    # 設置列字段(表頭)
    fieldnames = ['head1', 'head2', 'head3']
    with open(filename, 'a+', newline='') as fcsv:
        writer = csv.DictWriter(fcsv, fieldnames=fieldnames)
        # 寫第一行表頭
        writer.writeheader()
        # 一次寫一行
        writer.writerow({'head1': 'write1', 'head2': 'write2', 'head3': 'write3'})
        # 一次寫多行
        writer.writerows([{'head1': 'write1', 'head2': 'write2', 'head3': 'write3'},
                          {'head1': 'write4', 'head2': 'write5', 'head3': 'write6'}])

測試

if __name__ == '__main__':
    print("以列表方式寫文件")
    writefile('test.csv')
    print("寫入成功")
    print("以字典方式寫文件")
    writefile_dic('test.csv')
    print("寫入成功")
    print("以列表方式讀文件")
    readfile('test.csv')
    print("以字典方式讀文件")
    readfile_dic('test.csv')

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章