python读取csv文件的方法-CSV文件在Python中的几种处理方式
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文件中(如果要将数据写入xls*格式的文件中,请参考前期公众号文章),步骤如下:
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)) + " ")
当然,上面的代码也可以这么写:
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)) + " ")
以上步骤完成后,在命令提示符中输入:
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文件更简单,其步骤如下:
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)
以上步骤完成后,在命令提示符中输入相应命令即可(请参照)
代码如下:
python读取csv文件的方法-CSV文件在Python中的几种处理方式相关推荐
- python导出数据找不到csv_【记录】使用Python读取/导出(写入)CSV文件
想要用python处理csv文件. 去查了下,python中本身就自带csv模块. 然后参考在线手册: 去试试. [用python生成csv] 1. 按照手册的例子,试了试:import csv wi ...
- python读取 xls,xlsx,csv,doc,docx,pdf 格式的文件
前言 利用python读取 xls,xlsx,csv,doc,docx,pdf 格式的文件 python版本3.10.4 读取xls pip install xlrd==2.0.1 wps的.et文件 ...
- conda 导出环境文件的方法(文件方法)
conda 导出环境文件的方法(文件方法) 1.导出环境 conda env export > environment.yml 2.在新机器上重现环境 conda env create -f e ...
- 微信文件直接打印方法,微信文件怎么直接打印
微信是现在大家在工作及生活中都比较常用的工具,使用微信不仅可以交流工作方面的内容,同时也可以帮助大家处理生活中的一些事情.为将工作和生活区分开来,很多人的微信都会进行分组,便于区分工作和生活. 在工作 ...
- python请输入_python中的三种输入方式
python中的三种输入方式 python2.X python2.x中以下三个函数都支持: raw_input() input() sys.stdin.readline() raw_input( )将 ...
- Ubuntu 环境 中 python读取和保存 .txt 、.csv、.json文件数据并绘制图形
一.数据格式 二.程序 read_imu.py # coding=UTF-8import cv2 import numpy as np import matplotlib.pyplot as plt ...
- 用python读取、处理、另存为csv文件
读取csv文件 # 以指定编码格式读取xx.csv文件 csv_file=pd.read_csv('xx.csv', low_memory=False, encoding='--') 处理csv文件 ...
- CSV文件在Python中的几种处理方式
Comma Separated Values,简称CSV,它是一种以逗号分隔数值的文件类型.在数据库或电子表格中,它是最常见的导入导出格式,它以一种简单而明了的方式存储和共享数据,CSV文件通常以纯文 ...
- python读取mp4文件失败_Python代码打开本地.mp4格式文件的方法-mp4文件
Python开发技术的应用相信有不少的小伙伴都有所了解,简单的说那就是非常的强大,Python开发技术的应用是非常广泛的,本篇文章扣丁学堂Python培训小编就给读者们分享一下Python代码打开本地 ...
最新文章
- python--属性魔法方法
- 用Go语言建立一个简单的区块链part2:Pow共识
- __slots__ 和 @property
- Unity3D学习笔记之七创建自己的游戏场景
- APP 文档服务器,app服务器
- 【AI视野·今日Robot 机器人论文速览 第十五期】Fri, 25 Jun 2021
- egg extend ts_电竞5.21日王者荣耀KPL分析:DYG冲击西部榜首,TS战队能否虐菜?
- php urledcode_攻防世界 php 2 函数urldecode 使用说明
- linux添加自己的键盘映射,Linux 键盘映射
- 在控制器控制方式中,异步控制与联合控制有什么区别?
- [ZJOI2012]小蓝的好友
- Vue的axios封装
- 关于ElasticSearch (ES)
- python如何群控手机_python调用adb脚本来实现群控安卓手机初探
- 开启hadoop之旅的大门–安装配置篇
- 英国电信与欧盟签署重要云服务协议
- 配置文件无法导出问题解决方案
- POJ 1160 Post Office(经典DP)
- CentOS 7.4安装及Hadoop伪分布式配置(虚拟机:VMware)
- C++:对TXT文件进行读写
热门文章
- 时间序列数据库概览——基于文件(RRD)、K/V数据库(influxDB)、关系型数据库...
- python myqr 二维码生成
- 【C语言应用实例】输出当月日历
- ubuntu 修改hostname
- MySql通用二进制版本在Linux(Ubuntu)下安装与开启服务
- git remote扩展
- sql server 2005 T-SQL @@LANGUAGE (Transact-SQL)
- GC分析工具使用-gceacy分析堆栈
- uart与usart区别
- C++ decltype类型指示符