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("\n","") 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("\n","") 5 ls=line.split(",") 6 lns="" 7 for s in ls: 8 lns+="{}\t".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)+"\n") 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("\n","") 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)+"\n") 14 fr.close() 15 fw.close()
运行结果:
city1文件数据与前两个例子的city文件的内容相同,city1out.csv文件为新建立的一个CSV文件。
city1out.csv文件数据: