Python 使用 csv 模組讀寫 csv 檔案

2021-10-25 21:13:35 字數 2629 閱讀 2962

目錄

一、讀取 csv 檔案

二、寫入 csv 檔案

# -*- coding: utf-8 -*-

import csv

import sys

def read_csv_file(filename):

with open(filename, 'r') as f:

csv_reader = csv.reader(f)

header_row = next(csv_reader)

print(header_row) # 輸出檔案頭

cnt = 0

for line in csv_reader: # 迴圈遍歷檔案的每一行資料

cnt += 1

print("line : ,,,".format(line[0], line[1], line[2], line[3], cnt))

if "__main__" == __name__:

filename = sys.ar**[1]

read_csv_file(filename)

執行讀取指令碼的效果如下(file-list.csv 檔案有11行資料,第一行是 csv 檔案頭,其餘行是資料):

$ python read-csv-file.py file-list.csv 

['名稱', '大小', '路徑', '修改時間']

line [1] : security.evtx,391122944,c:\windows\system32\winevt\logs,2021-02-24 07:23:48

line [2] : mrt.exe,133326408,c:\windows\system32,2017-12-24 21:45:48

line [3] : mrt-kb890830.exe,133326408,c:\windows\system32,2017-12-24 21:45:50

line [4] : nvcplsetupint.exe,97078976,c:\windows\system32\driverstore\filerepository\nvdmwu.inf_amd64_26aa6356770b2e86,2016-09-12 21:15:30

line [5] : software,86245376,c:\windows\system32\config,2021-02-20 09:31:27

line [6] : software,86077440,c:\windows\system32\config\regback,2021-02-21 01:32:16

line [7] : srudb.dat,79495168,c:\windows\system32\sru,2021-02-24 21:20:00

line [8] : rcores64.dat,72520616,c:\windows\system32,2020-04-08 04:44:38

line [9] : rcores64.dat,72130584,c:\windows\system32\driverstore\filerepository\hdxsgma4.inf_amd64_67e758791d8608ce,2015-08-04 00:21:58

line [10] : bootckcl.etl,48234496,c:\windows\system32\wdi\logfiles,2021-02-20 09:33:51

# -*- coding: utf-8 -*-

import csv

import sys

def write_csv_file(filename):

with open(filename, 'w') as f:

csv_writer = csv.writer(f)

csv_writer.writerow(['type', 'name', 'age'])

for i in range(5):

csv_writer.writerow(['dog' + str(i), 'dog-' + str(i), str(i)])

rows = list()

for i in range(6, 10):

csv_writer.writerows(rows)

if "__main__" == __name__:

filename = sys.ar**[1]

write_csv_file(filename)

執行寫入指令碼的效果如下:

$ python write-csv-file.py dogs.csv

$ cat dogs.csv

type,name,age

dog0,dog-0,0

dog1,dog-1,1

dog2,dog-2,2

dog3,dog-3,3

dog4,dog-4,4

dog6,"xdog,-6",6

dog7,"xdog,-7",7

dog8,"xdog,-8",8

dog9,"xdog,-9",9

可以發現,當 csv 行的內容部分包含逗號(,)的時候,這個欄位會被雙引號修飾。

python3使用csv模組讀寫csv檔案

讀取csv檔案 import csv 開啟檔案,用with開啟可以不用去特意關閉file了,python3不支援file 開啟檔案,只能用open with open csv r encoding utf 8 as csvfile 讀取csv檔案,返回的是迭代型別 read csv.reader c...

python使用csv讀寫CSV檔案

檔案的讀 import csv with open test.csv r as csv file reader csv.reader csv file for line in reader print line 檔案的寫 import csv 表頭 file header houseinfo hou...

使用csv模組讀寫csv格式檔案

import csvclass handlecsv csv檔案處理類 def init self,filename 構造器 param filename csv檔名 self.filename filename defget data self 獲取csv中所有資料 return 巢狀字典的列表 w...