天天看點

python 寫csv加鎖_Python: 對CSV檔案讀寫 和 Md5加密

1. python 有專門的csv包,直接導入即可。

import csv;

2. 直接使用普通檔案的open方法

csv_reader=open("e:/python/csv_data/log.csv" , 'r')

data=[]

for line in csv_reader:

data.append(list(line.strip().split('|')))

for line in data:

print(line)

3. 使用csv.reader & writer,傳回疊代類型

import sys;

reload(sys)

sys.setdefaultencoding("utf-8");

csv_reader=csv.reader(file('E:\\Python\CSV_data\log.csv','rb'))

for row in csv_reader:

print(row)

writer=csv.writer(file('E:\\Python\CSV_data\log_write.csv','wb'))

writer.writerow(['name','id','comment'])

lines=[range(3) for i in range(5)]

for line in lines:

writer.writerow(line)

4.  使用 csv.DictReader & DictWriter, 傳回dict 字典類型。

reader1=csv.DictReader(file('E:\\Python\CSV_data\women_write.csv','rb'))

5. Md5 加密輸出

import csv

import hashlib

m=hashlib.md5()

csvwriter=csv.writer(file('E:\\Python\CSV_data\md5_write.csv','wb'))

csvwriter.writerow(['created','md5'])

csvreader=open('E:\\Python\CSV_data\original.csv','r')

for line in csvreader:

data=[]

data.append(line.strip().split('|')[0])

m.update(line.strip().split('|')[1]) #對分隔符的第二個字段加密

encodeStr=m.hexdigest()

data.append(encodeStr)

data.append(line.strip().split('|')[2])

csvwriter.writerow(data)

6. 求兩個檔案的交集、并集和差集

以行為機關求兩個檔案的交、并、差:

s1 = set(open('a.txt','r').readlines())

s2 = set(open('b.txt','r').readlines())

print 'ins: %s'%(s1.intersection(s2))

print 'uni: %s'%(s1.union(s2))

print 'dif: %s'%(s1.difference(s2).union(s2.difference(s1)))