百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

CSV文件在Python中的几种处理方式

off999 2024-10-28 16:53 76 浏览 0 评论

Comma Separated Values,简称CSV,它是一种以逗号分隔数值的文件类型。在数据库或电子表格中,它是最常见的导入导出格式,它以一种简单而明了的方式存储和共享数据,CSV文件通常以纯文本的方式存储数据表。今天,我将给大家分享在Python中如何操作CSV文件。

一、数据源

首先,我们来看看本次操作的数据源,图1 CSV文件是在Excel中打开的,图2 CSV文件是在Notepad++中打开的,我们在图2中可以看到数值之间是以逗号隔开的,每行末尾是CR(回车符)和LF(换行符)(请注意,Linux系统以LF结尾,MacOS系统以CR结尾)。

二、使用Python基本语法读写CSV文件

使用基本语法读取CSV文件中的数据大概思路是:获取文件对象;读取表头;按逗号分隔符拆分表头字段;使用for循环遍历表中记录数据,拆分后再次写入另一张CSV文件中。详细步骤和代码如下所示:

Step 1:导入必要模块,获取输入输出文件路径名。

import sys
infile = sys.argv[1]
outfile = sys.argv[2]

Step 2:使用open内置函数获取文件对象。

with open(infile, "r", newline='') as fr, open(outfile, "w", newline='') as fw:

Step 3:使用文件对象的readline方法或者迭代器的next方法读取表头(文件对象是一个迭代器对象,支持迭代协议),使用str.split方法对表头进行拆分(注意,要使用strip函数去掉尾部换行符)。

header = next(fr)
header = header.strip()
header_list = header.split(",")

Step 4:表头拆分好后,我们需要将表头写入文件对象中(注意尾部需要添加一个换行符哦)。

fw.write(",".join(map(str, header_list)) + "\n")

当然,上面的代码也可以这么写:

print(*header_list, sep=",", file=fw)

Step 5:使用for循环遍历表体数据,并将其拆分成列表写入到另一个文件中。

for row in fr:
 row = row.strip()
 row_list = row.split(",")
 fw.write(",".join(map(str, header_list)) + "\n")

以上步骤完成后,将代码保存为csvrw.py,然后在命令提示符中输入:

python csvrw.py inputfile.csv outputfile.csv

输入输出csv文件名称以及脚本名称请自定义,以上只是举例说明。

以上代码如下:

三、使用csv模块读写CSV文件

csv模块是Python内置的一个模块,它考虑了csv文件中的各种复杂情况,平时处理csv文件基本上使用此模块,下面来看看该模块处理csv文件的方式,步骤如下:

Step 1:首先,导入必要模块,获取输入输出文件路径名。

import sys
import csv
infile = sys.argv[1]
outfile = sys.argv[2]

Step 2:使用open函数获取文件对象。

with open(infile, "r", newline='') as incsv, open(outfile, "w", newline='') as outcsv:

Step 3:使用csv模块中的reader和writer函数分别获取reader和writer对象。

freader = csv.reader(incsv, delimiter=",")
fwriter = csv.writer(outcsv, delimiter=",")

Step 4:使用for循环语句读取和写入数据。

for rowlist in freader:
 fwriter.writerow(rowlist)

以上步骤完成后,在命令提示符中输入相应命令即可(请参照示例<二>)

代码如下:

四、使用pandas读写CSV文件

pandas库是一个强大的数据处理和分析库,使用pandas处理csv文件更简单(请注意,pandas非内置库,需要另行安装),步骤如下:

Step 1:首先,导入必要模块,获取输入输出文件路径名。

import sys
import pandas as pd
infile = sys.argv[1]
outfile = sys.argv[2]

Step 2:使用pandas的read_csv方法将数据存储到一个DataFrame对象中。

dataframe = pd.read_csv(infile)

Step 3:然后使用DataFrame的to_csv方法将其输出到另一张csv表中。

dataframe.to_csv(outfile, index=False)

以上步骤完成后,在命令提示符中输入相应命令即可(请参照<二>)

代码如下:

OK,以上内容就是Python处理CSV文件的3种方式,内容比较简单,感谢您的观看!

相关推荐

直接在手机转换jpg格式(直接在手机转换jpg格式怎么弄)
  • 直接在手机转换jpg格式(直接在手机转换jpg格式怎么弄)
  • 直接在手机转换jpg格式(直接在手机转换jpg格式怎么弄)
  • 直接在手机转换jpg格式(直接在手机转换jpg格式怎么弄)
  • 直接在手机转换jpg格式(直接在手机转换jpg格式怎么弄)
迅雷7苹果官方下载(迅雷官方下载苹果最新版本)

1、建议您在迅雷软件主界面右上角点击倒三角,在菜单中进入迅雷下载诊断工具,诊断下是否有浏览器支持相关的问题。2、在浏览器管理加载项里面看下是否开启了迅雷下载支持,如未启用请点击启用即可。3、可能是在安...

在线设计logo商标免费(logo在线设计网)

你好,注册费用按类别按个数收取,每类每个商标费用:1、一般商标每件300元(十年有效期,含十年的费用,国内公司或个人,其中国家规费300元);2、代理机构网报一般商标每件1000元(十年有效期,含十年...

如何快速学会ps软件(怎么学好ps软件,会简单的就好)

1.Photoshop只是一个工具而已,不要想的那么难2.基础是让你们最容易忽略的,但是必须牢固3.多去分析优秀作品,总结经验,技巧4.看作品尝试用不同的方法制作5.不需掌握PS所有功能,熟悉和工作相...

三国群雄传(三国群雄传2)

三国群英传2游戏中,分为五个时期,每个时期的君主数量不等,但主角还是曹操、孙权、刘备,几乎这三人在几个时期都是需要励精图治的时期。而刘备是很多人同情的一个贤明君主,因为从三国开端到三足鼎立时期,刘备都...

360官网电脑版(360官方网页)

http://hao.360.cn/360导航--一个主页,整个世界,为用户提供门户、新闻、视频、游戏、小说、彩票等各种分类的优秀内容和网站入口,提供简单便捷的上网导航服务。1.不是官方网站。2....

nba免费直播高清jrs免(nba直播在线观看高清jrs)

由于美国和中国之间贸易战的原因,和火箭总裁的出言不逊,导致中国和NBA的播放停止。所以不能观看,等到后期和解后可以继续观看!祝你好运!有高清的,看NBA还是挺好的。方法一:JRS直播1、JRS直播是一...

pc游戏模拟器(pc游戏模拟器推荐)

目前,PC游戏模拟器中最受欢迎和认可的是著名的BlueStacks。它是一款免费的安卓模拟器,可以在电脑上运行各种安卓游戏和应用程序。BlueStacks具有卓越的性能和稳定性,提供了流畅的游戏体验,...

炉石传说手游官网下载(炉石传说手游官网下载国服)

要下载炉石传说端游,可前往该游戏的官方网站或Blizzard官网,从中下载安装程序并安装。同时,玩家也可在国内的一些游戏下载网站上下载该游戏的安装包,但需保证其来源可靠。另外,在下载安装游戏时,可根据...

中信建投证券手机版下载(中信建投证券手机版下载什么软件)

不好退。1.中信建投证券app是一种金融工具,下载使用后就是用于完成交易和管理投资的,因此一旦下载就意味着启动了使用过程,是不可以退掉的。2.一些软件商店对于使用了特定时间的软件才可以退款,但是中...

cad破解版在哪里下载(cad破解版怎么下载怎么安装)

如果你下载软件的时候,有提示是敲诈的病毒,那么有可能是因为你在下载软件的时候,不是正规渠道下载的,所以你下载的软件会带有病毒,你可以去电脑管家里面找到你的杀毒软件,来对你下载的软件进行病毒的查杀,你也...

在线识别图片(在线识别图片找原图情侣头像)
  • 在线识别图片(在线识别图片找原图情侣头像)
  • 在线识别图片(在线识别图片找原图情侣头像)
  • 在线识别图片(在线识别图片找原图情侣头像)
  • 在线识别图片(在线识别图片找原图情侣头像)
游戏厅所有老游戏大全(老版游戏厅)

这个答案太多了现在比较普遍的应该是:拳皇系列(97,98为主)三国战纪系列,合金弹头系列,飞机系列等等别名:暴风小子、街头风雨用MAME模拟器可以玩到KOF系列的啊,94、95、96、97、98、...

163免费邮箱入口(163免费邮箱入口官网)

手机163的登录入口163邮箱官网入口是;https://smart.mail.163.com/login.htm网易邮箱注册方法;1在浏览器搜索“网易邮箱”。2进入网易邮箱官网https://sma...

一笔签名设计免费版(设计自己的签名免费版)

  我国法律没有规定签名时要求一笔一划的写,因此,怎么签名这是公民的自由,合同方式协商一致即可。  但是,在实践中,双方当事人签合同时,建议写工整,能让他人认识签名的是谁,另外,最好在名字上按个手印,...

取消回复欢迎 发表评论: