1. 程式人生 > 其它 >[Python] csv模組用法小結

[Python] csv模組用法小結

python學習中csv的用法做了一個小結 目錄

簡介

csV (Comma [ˈkɒmə] Separated [ˈsepəreɪtɪd] Values),即逗號分隔值(也稱字元分隔值,因為分隔符可以不是逗號),是一種常用的文字格式,用以儲存表格資料,包括數字或者字元。是資料分析中最常用的檔案格式之一。

官網連結:https://docs.python.org/3/library/csv.html#module-csv

示例

列表方式寫 csv 檔案

import csv

# 如果不指定newline='',有時則每寫入一行將有一空行被寫入
file = open('csv_test.csv', 'w', newline='')
writer = csv.writer(file)

# 寫入一行用writerow
writer.writerow(['姓名', '年齡', '電話']) 
 
data = [
    ('典韋', '25', '13678909002'),
    ('張苞', '18', '13678908003')
]
# 多行用writerows
writer.writerows(data)  

csvfile.close()

字典方式寫 csv 檔案

headers = ['name', 'age']
 
datas = [{'name': '劉備', 'age': 33},
         {'name': '關羽', 'age': 31},
         {'name': '張飛', 'age': 29}
        ]
 
with open('csv_test.csv', 'w', newline='') as f:
    # 標頭在這裡傳入,作為第一行資料
    writer = csv.DictWriter(f, headers)
    writer.writeheader()
    for row in datas:
        # 單行方式寫入
        writer.writerow(row)
 
    # 還可以寫入多行
    writer.writerows(datas)

列表方式讀 csv 檔案

reader = csv.reader(open('csv_test.csv'))
for row in reader:
    print(row)

字典方式讀 csv 檔案

import csv
with open('csv_test.csv','r') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        print(row['name'], row['age'])