wsg-python

 CSV格式文件的读取与保存

1. 什么是CSV

2. CSV文件的读取

3.CSV文件的保存

 

 

 

 

1. 什么是CSV

"CSV"并不是一种单一的、定义明确的格式(尽管RFC 4180有一个被通常使用的定义)。因此在实践中,术语“CSV”泛指具有以下特征的任何文件:

  1.纯文本,使用某个字符,比如ASCII,Unicode,EBCIC或GB2312(简体中文环境)等;

  2.由记录组成(典型的是每行一条记录);

  3.每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格);

  4.每条记录都有同样的字段序列。

2. CSV文件的读取

  1、按列表读取

  2、按字典形式读取

#encoding: utf-8

import csv

def read_csv_demo1():
    with open(\'stock.csv\', \'r\') as fp:
        # reader是一个迭代器
        reader = csv.reader(fp)
        next(reader)
        for x in reader:
            name = x[3]
            volumn = x[-1]
            print({\'name\': name, \'volumn\': volumn})


def read_csv_demo2():
    with open(\'stock.csv\',\'r\') as fp:
        # 使用DictReader创建的reader对象
        # 不会包含标题那行的数据
        # reader是一个迭代器,遍历这个迭代器,返回来的是一个字典。
        reader = csv.DictReader(fp)
        for x in reader:
            value = {"name":x[\'secShortName\'],\'volumn\':x[\'turnoverVol\']}
            print(value)

if __name__ == \'__main__\':
    read_csv_demo2()

 

3. CSV文件的保存

  1、以列表进行保存,直接存入

  2、以字典形式保存,需要先插入头再保存值

#encoding: utf-8

import csv

def write_csv_demo1():
    headers = [\'username\', \'age\', \'height\']
    values = [
        (\'張三\', 18, 180),
        (\'李四\', 19, 190),
        (\'王五\', 20, 160)
    ]

    with open(\'classroom.csv\', \'w\', encoding=\'utf-8\', newline=\'\') as fp:
        writer = csv.writer(fp)
        writer.writerow(headers)
        writer.writerows(values)


def write_csv_demo2():
    headers = [\'username\', \'age\', \'height\']
    values = [
        {\'username\':\'张三\',\'age\':18,\'height\':180},
        {\'username\':\'李四\',\'age\':19,\'height\':190},
        {\'username\':\'王五\',\'age\':20,\'height\':160}
    ]
    with open(\'classroo1.csv\',\'w\',encoding=\'utf-8\',newline=\'\') as fp:
        writer = csv.DictWriter(fp,headers)
        # 写入表头数据的时候,需要调用writeheader方法
        writer.writeheader()
        writer.writerows(values)


if __name__ == \'__main__\':
    write_csv_demo2()

 

分类:

技术点:

相关文章:

  • 2021-08-20
  • 2021-11-01
  • 2021-07-17
  • 2021-12-14
  • 2021-06-13
  • 2022-12-23
  • 2021-10-17
猜你喜欢
  • 2022-01-23
  • 2021-12-05
  • 2022-12-23
  • 2021-10-11
  • 2021-09-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案