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)))
每天进步一点点