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中的几种处理方式相关推荐

  1. python导出数据找不到csv_【记录】使用Python读取/导出(写入)CSV文件

    想要用python处理csv文件. 去查了下,python中本身就自带csv模块. 然后参考在线手册: 去试试. [用python生成csv] 1. 按照手册的例子,试了试:import csv wi ...

  2. 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文件 ...

  3. conda 导出环境文件的方法(文件方法)

    conda 导出环境文件的方法(文件方法) 1.导出环境 conda env export > environment.yml 2.在新机器上重现环境 conda env create -f e ...

  4. 微信文件直接打印方法,微信文件怎么直接打印

    微信是现在大家在工作及生活中都比较常用的工具,使用微信不仅可以交流工作方面的内容,同时也可以帮助大家处理生活中的一些事情.为将工作和生活区分开来,很多人的微信都会进行分组,便于区分工作和生活. 在工作 ...

  5. python请输入_python中的三种输入方式

    python中的三种输入方式 python2.X python2.x中以下三个函数都支持: raw_input() input() sys.stdin.readline() raw_input( )将 ...

  6. Ubuntu 环境 中 python读取和保存 .txt 、.csv、.json文件数据并绘制图形

    一.数据格式 二.程序 read_imu.py # coding=UTF-8import cv2 import numpy as np import matplotlib.pyplot as plt ...

  7. 用python读取、处理、另存为csv文件

    读取csv文件 # 以指定编码格式读取xx.csv文件 csv_file=pd.read_csv('xx.csv', low_memory=False, encoding='--') 处理csv文件 ...

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

    Comma Separated Values,简称CSV,它是一种以逗号分隔数值的文件类型.在数据库或电子表格中,它是最常见的导入导出格式,它以一种简单而明了的方式存储和共享数据,CSV文件通常以纯文 ...

  9. python读取mp4文件失败_Python代码打开本地.mp4格式文件的方法-mp4文件

    Python开发技术的应用相信有不少的小伙伴都有所了解,简单的说那就是非常的强大,Python开发技术的应用是非常广泛的,本篇文章扣丁学堂Python培训小编就给读者们分享一下Python代码打开本地 ...

最新文章

  1. python--属性魔法方法
  2. 用Go语言建立一个简单的区块链part2:Pow共识
  3. __slots__ 和 @property
  4. Unity3D学习笔记之七创建自己的游戏场景
  5. APP 文档服务器,app服务器
  6. 【AI视野·今日Robot 机器人论文速览 第十五期】Fri, 25 Jun 2021
  7. egg extend ts_电竞5.21日王者荣耀KPL分析:DYG冲击西部榜首,TS战队能否虐菜?
  8. php urledcode_攻防世界 php 2 函数urldecode 使用说明
  9. linux添加自己的键盘映射,Linux 键盘映射
  10. 在控制器控制方式中,异步控制与联合控制有什么区别?
  11. [ZJOI2012]小蓝的好友
  12. Vue的axios封装
  13. 关于ElasticSearch (ES)
  14. python如何群控手机_python调用adb脚本来实现群控安卓手机初探
  15. 开启hadoop之旅的大门–安装配置篇
  16. 英国电信与欧盟签署重要云服务协议
  17. 配置文件无法导出问题解决方案
  18. POJ 1160 Post Office(经典DP)
  19. CentOS 7.4安装及Hadoop伪分布式配置(虚拟机:VMware)
  20. C++:对TXT文件进行读写

热门文章

  1. 时间序列数据库概览——基于文件(RRD)、K/V数据库(influxDB)、关系型数据库...
  2. python myqr 二维码生成
  3. 【C语言应用实例】输出当月日历
  4. ubuntu 修改hostname
  5. MySql通用二进制版本在Linux(Ubuntu)下安装与开启服务
  6. git remote扩展
  7. sql server 2005 T-SQL @@LANGUAGE (Transact-SQL)
  8. GC分析工具使用-gceacy分析堆栈
  9. uart与usart区别
  10. C++ decltype类型指示符