CSV文件数据如何读取、导入、导出到新的CSV文件中以及CSV文件的创建
CSV文件数据如何读取、导入、导出到新的CSV文件中以及CSV文件的创建
一.csv文件的创建
(1)新建一个文本文档:
打开新建文本文档,进行编辑。
注意:关键字与关键字之间用英文半角逗号隔开。第一行为引用字段,第二行为对应值。例如:

(2)生成csv文件
将文本文档重命名更改文件扩展名,将“.txt”改为“.csv”
重命名重新打开后就是一个CSV文件格式。例如:

二.数据的表示和读写
csv文件的每一行都是一维数据,可以使用python中的列表类型表示,整个csv文件是一个二维数据,由表示每一行的列表类型作为元素,组成一个二维列表。
注:打开CSV文件的路径可以是绝对路径也可以是相对路径,可根据个人习惯来编写。
(1)导入csv格式数据到列表:
fo=open("city.csv","r")#打开命名为city的CSV文件
ls=[] #定义一个空列表,将CSV中读取的文件放进列表
for line in fo:
line=line.replace("\n","")
ls.append(line.split(","))
print(ls)
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格式数据:
fo=open("city.csv","r")#打开命名为city的CSV文件
ls=[]#定义一个空列表,将CSV中读取的文件放进列表
for line in fo:
line=line.replace("\n","")
ls=line.split(",")
lns=""
for s in ls:
lns+="{}\t".format(s)
print(lns)
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文件:
fo=open("city.csv","w")
ls=['湖北','101.2','120.7','121.4']
fo.write(",".join(ls)+"\n")
fo.close()
运行结果;
city.csv文件原有数据:

运行之后的数据:

(4)将二维数据写入CSV文件:
fr=open("city1.csv","r")
fw=open("city1out.csv","w")
ls=[]
for line in fr:#将CSV文件当中的二维数据读到列表当中去
line=line.replace("\n","")
ls.append(line.split(","))
for i in range(len(ls)):#遍历列表变量计算百分数
for j in range(len(ls[i])):
if ls[i][j].replace(".","").isnumeric():
ls[i][j]="{:.2}%".format(float(ls[i][j])/100)
for row in ls:#将列表变量中的两位数据写入CSV文件当中去
print(row)
fw.write(",".join(row)+"\n")
fr.close()
fw.close()
运行结果:
city1文件数据与前两个例子的city文件的内容相同,city1out.csv文件为新建立的一个CSV文件。
city1out.csv文件数据:

CSV文件数据如何读取、导入、导出到新的CSV文件中以及CSV文件的创建的更多相关文章
- C语言进行csv文件数据的读取
C语言进行csv文件数据的读取: #include <stdio.h> #include <string.h> #include <malloc.h> #inclu ...
- Thinkphp框架下PHPExcel实现Excel数据的批量化导入导出
第一步:下载官方的PHPExcel文件,下载地址https://github.com/PHPOffice/PHPExcel 第二步:解压打开,将PHPExcel\Classes\全部文件拷贝到thin ...
- Postgresql数据库数据简单的导入导出
Postgresql数据库数据简单的导入导出 博客分类: DataBase postgres 命令操作: 数据的导出:pg_dump -U postgres(用户名) (-t 表名) 数据库名( ...
- Magicodes.IE 在100万数据量下导入导出性能测试
原文作者:HueiFeng 前言 目前Magicodes.IE更新到了2.2.3,感谢大家的支持,同时建议大家在使用过程中如果遇到一些问题或者说需要一些额外的功能可以直接提issues,当然更建议大家 ...
- Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题
影响Oracle数据库字符集最重要的参数是NLS_LANG参数. 它的格式如下: NLS_LANG = language_territory.charset 它有三个组成部分(语言.地域和字符集),每 ...
- git database 数据库 平面文件 Git 同其他系统的重要区别 Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异 Git 的设计哲学
小结: 1.如果要浏览项目的历史更新摘要,Git 不用跑到外面的服务器上去取数据回来 2.注意 git clone 应指定版本,它复制的这个版本的全部历史信息: 各个分支 git init 数据库 ...
- 无法处理文件 MainForm.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记。要想处理这些文件,请删除 Web 标记
无法处理文件 MainForm.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记.要想处理这些文件,请删除 Web 标记 问题: 由于文件锁定,VS不能正常读取. 解 ...
- 用php导入10W条+ 级别的csv大文件数据到mysql。导出10W+级别数据到csv文件
转自:http://blog.csdn.net/think2me/article/details/12999907 1. 说说csv 和 Excel 这两者都是我们平时导出或者导入数据一般用到的载体. ...
- .net实现与excel的数据交互、导入导出
应该说,一套成熟的基于web的管理系统,与用户做好的excel表格进行数据交互是一个不可或缺的功能,毕竟,一切以方便客(jin)户(qian)为宗旨. 本人之前从事PHP的开发工作,熟悉PHP的都应该 ...
随机推荐
- [译]Vulkan教程(18)命令buffers
[译]Vulkan教程(18)命令buffers Command buffers 命令buffer Commands in Vulkan, like drawing operations and me ...
- java8-计算时间差的方法
一.简述 在Java8中,我们可以使用以下类来计算日期时间差异: 1.Period 2.Duration 3.ChronoUnit 二.Period类 主要是Period类方法getYears(),g ...
- Python3字典update()方法
描述 Python字典update()函数把字典参数dict2的key/value(键/值)对更新到字典dict里. update()方法语法: dict.update(dict2) 参数 dict2 ...
- 【问题记录】 Linux分区磁盘占满,导致ssh登陆闪退
问题描述 今天要去后台看日志查个问题,通过ssh登陆到服务器后准备用平时非常熟悉的less命令打开日志查看,突然xshell客户端就闪退了.一时感觉很蒙,怎么回事??由于之前有同事遇到类似的问题,提醒 ...
- RK3399安装Qt
更新软件源.升级软件 sudo apt-get update sudo apt-get upgrade 安装Qt sudo apt-get install qt5-default sudo apt-g ...
- aop分层模型——aop是元编程的一种
织入应用层—->待织入的附加功能 应用层 织入管理层—->使用元语和织入的功能进行编程 语言层 aop元语层---〉aop机制提供的高阶抽象概念. 解释层 aop引擎层—->维护的实 ...
- Astyle 一键格式化项目代码
代码格式化差异问题: 一个团队有多个开发,因开发习惯不同,开发时少添加了空格.换行等. 格式化代码时,一般会将整个文档格式化,代码提交时会发现未知的修改项. Astyle格式化工具 官网下载地址:Ar ...
- 记录一次netcore3.0 code first使用迁移命令报错问题
环境描述:macOS .vscode .netcore3.0 迁移工具:Microsoft.EntityFrameworkCore.Tools 遇到的问题: Could not execute bec ...
- 微信小程序——表单验证插件WxValidate的二次封装(二)
在上一篇博客<微信小程序——仿jqueryValidate表单验证插件WxValidate的二次封装>中,我将WxValidate做了再次封装,简化了初始规则数据的构造,但是当有错误时页面 ...
- Python比较配置文件
工作中最常见的配置文件有四种:普通key=value的配置文件.Json格式的配置文件.HTML格式的配置文件以及YAML配置文件. 这其中以第一种居多,后三种在成熟的开源产品中较为常见,本文只针对第 ...