• 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:\PythonCSV_datalog.csv','rb'))
    for row in csv_reader:
        print(row)
    
    writer=csv.writer(file('E:\PythonCSV_datalog_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:\PythonCSV_datawomen_write.csv','rb'))
    

    参考

    5. Md5 加密输出

    import csv
    import hashlib
    
    m=hashlib.md5()
    
    csvwriter=csv.writer(file('E:\PythonCSV_datamd5_write.csv','wb'))
    csvwriter.writerow(['created','md5'])
    
    csvreader=open('E:\PythonCSV_dataoriginal.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)))
    
  • 相关阅读:
    2019-9-2-正则表达式30分钟入门教程
    2019-6-23-开源项目使用-appveyor-自动构建
    2019-8-29-dotnet-core-使用-sqlite-部署到-Centos-服务器
    2018-10-19-Roslyn-使用-Directory.Build.props-文件定义编译
    2019-4-29-dotnet-通过-WMI-获取系统安装软件
    2018-12-24-win10-uwp-求两个矩形相连的几何
    shell公共函数functions
    linux防火墙和SELinux
    ubuntu开启ssh
    文件夹操作
  • 原文地址:https://www.cnblogs.com/skyEva/p/6803301.html
Copyright © 2020-2023  润新知