python 資料持久化之csv

2021-09-19 15:04:24 字數 1870 閱讀 7940

一、讀取csv檔案
語法:

reader(csvfile,dialect='excel',**fmtparams)

引數說明:

csvfile,必須是支援迭代(iterator)的物件,可以是檔案(file)物件或者列表(list)物件,如果是檔案物件,開啟時需要加'b'標誌引數

dialect,編碼風格,預設為excel的風格,也就是用逗號(,)分隔,dialect方式也支援自定義,通過呼叫register_dialect方法來註冊。

fmtparam,格式化引數,用來覆蓋之前dialect物件指定的編碼風格。

舉例:

import csv

with open("name.csv","r") as csvfile:

read = csv.reader(csvfile)

for i in read:

print(i)

二、寫入csv檔案
語法:

writer(csvfile,dialect='excel',**fmtparams)
引數說明:

首先open函式開啟當前路徑下的名字為m.csv的檔案,如果不存在改檔案,則建立它,返回myfile檔案物件。

csv.writer(myfile)返回writer物件mywriter。

writerow()方法是一行一行寫入

writerows()方法是一次寫入多行

注意:如果檔案m.csv事先存在,呼叫writer函式會先清空原檔案中的文字,再執行writerow/writerows方法。

舉例

import csv

with open('name.csv','w') as csvfile:

writer = csv.writer(csvfile)

writer.writerow(['id','url','keywords'])

data = [

] writer.writerows(data)

三、設定csv編碼
py檔案預設是ascii編碼

如果需要更改儲存檔案的編碼

with open('name.csv','w',encoding='utf-8',newline='') as myfile:

或者用codecs模組

import csv

import codecs

with codecs.open('name.csv','w','utf-8') as myfile:

writer = csv.writer(myfile)

writer.writerow(['編號','**','名稱'])

四、自定義讀取 dialect引數
import csv

csv.register_dialect('mydialect',delimiter='|',quoting=csv.quote_all)

with open('name.csv','r',encoding='utf-8') as csvfile:

lines = csv.reader(csvfile,'mydialect')

for i in lines:

print(i)

#登出: unregister_dialect(name)

redis持久化之AOF持久化

aof與rdb持久化通過儲存資料庫中的鍵值對來記錄資料庫狀態不同,aof持久化是通過儲存redis伺服器所執行的寫命令來記錄資料庫狀態的。被寫入aof檔案的所有命令都是以redis的命令請求協議格式儲存的。當aof持久化功能處於開啟狀態,伺服器在執行完乙個寫命令之後,會以協議格式將被執行的寫命令追加...

資料持久化之 plist檔案

檔案目錄簡單說明 下面是利用字典將資料寫入到.plist檔案 cpp view plain copy print?viewcontroller.m plist created by rio.king on 13 9 22.import viewcontroller.h inte ce viewcon...

iOS 資料持久化之FMDB

新建乙個專案名為qzfmdb,開啟終端 cd users hongde desktop qzfmdb vim podfile鍵盤敲 i 輸入 target qzfmdb dopod jqfmdb end wq 回車鍵 pod install關掉專案 重新開啟qzfmdb.xcworkspace vi...