最近在看python的資料處理,剛看到檔案格式的處理,是關於csv檔案的,個人覺得很實用所以做下筆記以供複習
csv檔案的形式有很多。秩序定義csv.dialect的乙個子類即可定義出新的格式(如專門的分隔符、字串引用約定、行結束符等)
由於我們的資料文字在儲存時裡面的格式大多數都是一致的,但是難免有的資料需求不一致。這時自定義處理格式就顯得很有必要了。使用csv的dilacate可以解決這個問題。
我對dialect的理解是:csv檔案中的格式有很多:逗號分隔 冒號分隔等等。自己設定乙個dialect類,規定格式來讀取或寫入。
我用了以下兩種方式來處理,其實原理一樣,只是看自己的習慣:(以下只是簡單的測試練習)
1:新建乙個 test.mycsv ,裡邊假設存放著,daihui@nihao@a#這裡的字尾名可以是csv或txt
2:定義class:
class mycsv(csv.excel):
delimiter = "@"
3:新建並註冊乙個csv dialect:
csv.register_dialect('mycsv',mycsv) #引數(『自定義名』,上面的類名)
4:編寫要新增的內容列表:
mylist = ['daihui',10086,21] #這裡隨便做的測試,可以改為更複雜的格式
5:寫檔案和讀檔案:
kk = csv.writer(open('test.mycsv','a'),mycsv)
kk.writerow(mylist) #在檔案中寫如mylist內容,使用mycsv定義的格式
jj = csv.reader(open('test.mycsv'),mycsv)
for a,b,c in jj: #以自定義的格式讀取文字,按照這種格式列印出來
print(a,b,c)
1:建立乙個文字儲存資料,文字格式定義:
2 : 編寫dialect:
csv.register_dialect('mycsv',delimiter='|') #直接註冊。這裡面可以設定很多引數,各種自定義格式
3 : 以mycsv格式列印:
with open('test.csv') as f:
lines = csv.reader(f,'mycsv') #對於writer()函式一樣的使用
for line in lines:
print(line)
4:以'|'為分隔符顯示
其實第二種就是把class裡面的設定放到了註冊裡面但是當你設定多了的時候最好使用第一種,清晰可見。以上便是我的兩種格式(以上只是簡單的測試練習),只要學會了方法,就可以做更複雜的格式處理了
hibernate中的dialect設定
在開發hibernate的程式時,需要進行sessionfactory的配置,簡單地說,也就是建立與資料庫之間連線的配置,在hibernate中一般使用xml檔案來進行配置,但是在該檔案的配置中需要設定dialect方言屬性值,對於不同的資料庫,方言的值dialect是不同的,那麼下面就列出在不同的...
csv的簡單實用
import csv 引用 寫入 csv file open demo.csv w newline encoding utf 8 呼叫open 函式開啟csv檔案 writer csv.writer csv file 用csv.writer 函式建立乙個writer物件 writer.writero...
CSV簡單了解
csv全稱是comma separate values,這種檔案格式可以作為不同程式之間的資料互動的格式。csv就是一種純文字檔案 如.txt doc等 即是一組字串行,字元之間已英文本元的逗號或製表符 tab 分隔。語法比較簡單 1.1.每條記錄佔一行 以逗號為分隔符 1.2.逗號前後的空格會被忽...