zoukankan      html  css  js  c++  java
  • CSV文件数据如何读取、导入、导出到新的CSV文件中以及CSV文件的创建

    CSV文件数据如何读取、导入、导出到新的CSV文件中以及CSV文件的创建

    一.csv文件的创建

    (1)新建一个文本文档:

    打开新建文本文档,进行编辑。

    注意:关键字与关键字之间用英文半角逗号隔开。第一行为引用字段,第二行为对应值。例如:

    (2)生成csv文件

    将文本文档重命名更改文件扩展名,将“.txt”改为“.csv”

    重命名重新打开后就是一个CSV文件格式。例如:

    二.数据的表示和读写

    csv文件的每一行都是一维数据,可以使用python中的列表类型表示,整个csv文件是一个二维数据,由表示每一行的列表类型作为元素,组成一个二维列表。

    注:打开CSV文件的路径可以是绝对路径也可以是相对路径,可根据个人习惯来编写。

    (1)导入csv格式数据到列表:

    1 fo=open("city.csv","r")#打开命名为city的CSV文件
    2 ls=[] #定义一个空列表,将CSV中读取的文件放进列表
    3 for line in fo:
    4     line=line.replace("
    ","")
    5     ls.append(line.split(","))
    6 print(ls)
    7 fo.close()#关闭文件

    运行结果:

    [['城市', '环比', '同比', '定基'], ['北京', '101.5', '120.7', '121.4'], ['上海', '101.2', '127.3', '127.8'], ['广州', '101.3', '119.4', '120.0'], ['深圳', '102.0', '140.9', '145.5'], ['沈阳', '100.1', '101.4', '101.6'], ['', '', '', '']]

    (2)逐行处理CSV格式数据:

     1 fo=open("city.csv","r")#打开命名为city的CSV文件
     2 ls=[]#定义一个空列表,将CSV中读取的文件放进列表
     3 for line in fo:
     4     line=line.replace("
    ","")
     5     ls=line.split(",")
     6     lns=""
     7     for s in ls:
     8         lns+="{}	".format(s)
     9     print(lns)
    10 fo.close()

    运行结果:

    城市    环比    同比    定基    
    北京    101.5    120.7    121.4    
    上海    101.2    127.3    127.8    
    广州    101.3    119.4    120.0    
    深圳    102.0    140.9    145.5    
    沈阳    100.1    101.4    101.6    

    (3)将一维数据写入CSV文件:

    1 fo=open("city.csv","w")
    2 ls=['湖北','101.2','120.7','121.4']
    3 fo.write(",".join(ls)+"
    ")
    4 fo.close()

    运行结果;

    city.csv文件原有数据:

    运行之后的数据:

    (4)将二维数据写入CSV文件:

     1 fr=open("city1.csv","r")
     2 fw=open("city1out.csv","w")
     3 ls=[]
     4 for line in fr:#将CSV文件当中的二维数据读到列表当中去
     5     line=line.replace("
    ","")
     6     ls.append(line.split(","))
     7 for i in range(len(ls)):#遍历列表变量计算百分数
     8     for j in range(len(ls[i])):
     9         if ls[i][j].replace(".","").isnumeric():
    10             ls[i][j]="{:.2}%".format(float(ls[i][j])/100)
    11 for row in ls:#将列表变量中的两位数据写入CSV文件当中去
    12     print(row)
    13     fw.write(",".join(row)+"
    ")
    14 fr.close()
    15 fw.close()

    运行结果:

    city1文件数据与前两个例子的city文件的内容相同,city1out.csv文件为新建立的一个CSV文件。

     city1out.csv文件数据:

  • 相关阅读:
    antd Upload的使用
    table 的使用方法
    标题前点的制作
    插件multiBtnList的使用
    render的写法
    数据请求
    实体类为什么使用包装类
    el-table中如何遍历数组中对象里的数组?
    关于hash的描述,hashcode etc
    Java集合框架详解
  • 原文地址:https://www.cnblogs.com/cyt99/p/11904372.html
Copyright © 2011-2022 走看看