zoukankan      html  css  js  c++  java
  • python读取csv文件

    逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,无法存储数值。

    python读取csv文件有两种方式,一种读取到是列表类型,一种读取到时字典类型;

    # 导包
    import csv
    # 定义文件路径
    csv_path = 'source_file/reg_info.csv'

    1.第一种读取方式

    # 通过with语句读取,以列表类型读取
    with open(csv_path,'r',encoding='utf8')as fp:
        # 使用列表推导式,将读取到的数据装进列表
        data_list = [i for i in csv.reader(fp)]  # csv.reader 读取到的数据是list类型
        print(data_list)

    # 读取到的结果
    [['mobilephone', 'pwd', 'regname', 'status', 'code', 'msg'], ['15664587568', 'xaiohua', 'xiaohua', '1', '10001', '注册成功'], ['18956455875', 'xiaocao', 'xiaocao', '1', '10001', '注册成功']]

    2.第二种读取方式

    # 以字典类型读取
    # 在python3.6版本后,读取到csv文件内容每一行的类型是OrderedDict;可以通过字典的形式取值;
    # 在读取过程中会将csv文件内容映射到OrderedDict中,其中OrderedDict中的键可以由fieldnames 定义;
    # 如果fieldnames 为None,则OrderedDict的键为csv文件首行内容
    with open(csv_path,'r',encoding='utf8')as fp:
        # 使用列表推导式,将读取到的数据装进列表
        data_list = [i for i in csv.DictReader(fp,fieldnames=None)]  # csv.DictReader 读取到的数据是list类型
        print(data_list)


    # 读取到的结果为:
    [OrderedDict([('mobilephone', '15664587568'), ('pwd', 'xaiohua'), ('regname', 'xiaohua'), ('status', '1'), ('code', '10001'), ('msg', '注册成功')]), OrderedDict([('mobilephone', '18956455875'), ('pwd', 'xiaocao'), ('regname', 'xiaocao'), ('status', '1'), ('code', '10001'), ('msg', '注册成功')])]

    python写入数据到csv文件,写入文件分为单行数据写入和多行数据写入

    1.单行数据写入

    # 单行数据写入文件
    data_list = ['15446875965','wwwwwww','vvvvvvvv',1,10001,'注册成功']
    
    with open(csv_path,'a',encoding='utf8')as fp:
        write = csv.writer(fp)
        write.writerow(data_list) # writerow 所接收的是一个列表

    2.多行数据写入

    # 多行数据写入
    data_list = [
    ['15446875965','wwwwwww','vvvvvvvv',1,10001,'注册成功'],
    ['15446875965','wwwwwww','vvvvvvvv',1,10001,'注册成功'],
    ['15446875965','wwwwwww','vvvvvvvv',1,10001,'注册成功'],
    ['15446875965','wwwwwww','vvvvvvvv',1,10001,'注册成功'],
    ['15446875965','wwwwwww','vvvvvvvv',1,10001,'注册成功'],
    ]
    with open(csv_path,'a',encoding='utf8')as fp:
        write = csv.writer(fp)
        write.writerows(data_list) # writerow 所接收的是一个列表

     

  • 相关阅读:
    凸包模板
    F
    luogu P1220 关路灯
    [国家集训队]小Z的袜子
    [AHOI2009]维护序列
    luogu P3373 【模板】线段树 2
    [国家集训队]数颜色 / 维护队列
    luogu P3393 逃离僵尸岛
    [Usaco2005 Mar]Out of Hay 干草危机
    [USACO07NOV]牛栏Cow Hurdles
  • 原文地址:https://www.cnblogs.com/XhyTechnologyShare/p/12059768.html
Copyright © 2011-2022 走看看