python 如何读、写、解析CSV文件
作者:华为云开发者社区 发布时间:2022-09-21 13:59:33
目录
什么是CSV文件及其用途?
为什么使用CSV文件格式?
Python CSV模块
CSV模块功能
Python中CSV文件的操作
在Python中读取CSV文件:
用Python写入CSV文件:
读取CSV文件作为字典:
作为字典写入CSV文件
以熊猫格式读取CSV文件:
您知道将表格数据存储到纯文本文件背后的机制是什么吗?答案是CSV(逗号分隔值)文件,该文件允许将数据转换为纯文本格式。在这篇文章中关于“在Python如何阅读CSV文件”中,我们将学习如何读,写和解析的CSV文件的Python。
将详细讨论以下方面:
什么是CSV文件及其用途?
为什么使用CSV文件格式?
Python CSV模块
CSV模块功能
在Python中执行写入,读取CSV文件的操作
让我们开始吧。
什么是CSV文件及其用途?
CSV(逗号分隔值)是一种纯文本文件格式,用于存储表格数据(例如电子表格或数据库)。它本质上存储的表格数据包括数字和纯文本。大多数在线服务使用户可以自由地将网站中的数据导出为CSV文件格式。CSV文件通常会在Excel中打开,几乎所有数据库都具有不同的特定工具以允许导入相同的文件。
文件的每一行都称为记录。每个记录由用逗号分隔 的字段组成,这些字段也称为“定界符”,这是默认定界符,其他记录包括pipe(|),分号(;)。下面给出的是一个普通CSV文件的结构,以逗号分隔,我正在使用一个泰坦尼克号CSV文件。
结构
Passenger,Id,Survived,Pclass,Name,Sex.Age
1,0,3 Braund, Mr. Owen Harris ,male, 22
2,1,1 Cumings, Mrs. John Bradley (Florence Briggs Thayer), female,38
3,1,3 Heikkinen, Miss. Laina ,female, 26
4,1,1 Futrelle, Mrs. Jacques Heath (Lily May Peel),female,35
继续说说使用CSV文件格式的原因。
为什么使用CSV文件格式?
CSV是纯文本文件,它使数据交换更容易,也更易于导入到电子表格或数据库存储中。例如:您可能希望将某个统计分析的数据导出到CSV文件,然后将其导入电子表格以进行进一步分析。总体而言,它使用户可以通过编程轻松地体验工作。任何支持文本文件或字符串操作的语言(例如Python)都可以直接使用CSV文件。
继续前进,让我们看看Python如何原生使用CSV。
Python CSV模块
Python使用的CSV软件包是标准库的一部分,因此您无需安装它。
import csv
现在,让我向您展示不同的CSV功能。
CSV模块功能
在CSV模块下,您可以找到以下功能:
让我们继续前进,从Python CSV文件上不同操作的编码角度来看。
Python中CSV文件的操作
加载CSV文件后,您可以执行多种操作。我将在Python中显示对CSV文件的读取和写入操作。
在Python中读取CSV文件:
import csv
with open('Titanic.csv','r') as csv_file: #Opens the file in read mode
csv_reader = csv.reader(csv_file) # Making use of reader method for reading the file
for line in csv_reader: #Iterate through the loop to read line by line
print(line)
输出:
在这里,从输出中可以看到,我已经使用了Titanic CSV File。并且所有字段都用逗号分隔,文件被读入Python。
继续前进,让我们看看如何写入CSV文件。
用Python写入CSV文件:
import csv
with open('Titanic.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
with open('new_Titanic.csv', 'w') as new_file: # Open a new file named 'new_titanic.csv' under write mode
csv_writer = csv.writer(new_file, delimiter=';') #making use of write method
for line in csv_reader: # for each file in csv_reader
csv_writer.writerow(line) #writing out to a new file from each line of the original file
out:
现在,这种使用读写器方法处理CSV文件的方法是最常见的方法之一。让我们继续前进,看看如何使用python字典来做同样的事情。
读取CSV文件作为字典:
import csv
with open('Titanic.csv','r') as csv_file: #Open the file in read mode
csv_reader = csv.DictReader(csv_file) #use dictreader method to reade the file in dictionary
for line in csv_reader: #Iterate through the loop to read line by line
print(line)
输出:
从输出中可以看到,字段已被替换,它们现在充当字典的“键”。
让我们看看如何将CSV文件作为字典写入。
作为字典写入CSV文件
import csv
mydict = [{'Passenger':'1', 'Id':'0', 'Survived':'3'}, #key-value pairs as dictionary obj
{'Passenger':'2', 'Id':'1', 'Survived':'1'},
{'Passenger':'3', 'Id':'1', 'Survived':'3'}]
fields = ['Passenger', 'Id', 'Survived'] #field names
filename = 'new_Titanic.csv' #name of csv file
with open('new_Titanic.csv', 'w')as new_csv_file: #open a new file 'new_titanic,csv' under write mode
writer = csv.DictWriter(new_csv_file, fieldnames=fields)
writer.writeheader() #writing the headers(field names)
writer.writerows(mydict) #writing data rows
输出:
让我们看看如何在python中将CSV文件读取为熊猫。
以熊猫格式读取CSV文件:
import pandas #install pandas package
result = pandas.read_csv('Titanic.csv') #read the csv file
print(result) # print result
输出:
这使我们到文章“如何在Python中读取CSV文件”的结尾。我希望您对与CSV相关的所有概念,如何读写它,如何将CSV作为字典进行读写以及如何将CSV作为熊猫进行阅读都一目了然。
确保尽可能多地练习并恢复经验。
来源:https://www.cnblogs.com/huaweiyun/p/14446145.html
猜你喜欢
- 1、修改MD5算法重的4个常数,这是最捷径的作法,其特点是加密后的数据和加密前非常类似,但是不会被破解 2、多次加密,对MD5加密过的数据进
- 假设有2个有序列表l1、l2,如何效率比较高的将2个list合并并保持有序状态,这里默认排序是正序。思路是比较简单的,无非是依次比较l1和l
- 在Flash中使用ASP需要的条件:1。你的ISP的server必须支持Active Server Pages并且最好支持数据库2。你应该要
- 前言最近因为工作的需要,在写一些python脚本,总是使用print来打印信息感觉很low,所以抽空研究了一下python的logging库
- 下文要实现的可视化大屏内容:需要在地图上将我司船舶的轨迹展示出来。听起来很简单,一开始我也是这样想的。通过一些BI工具应该可以轻松实现,比如
- shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var a = [1,2,3,4,5]; var b
- 我把数据库操作类整理了一下,它包含了常用的数据库操作,由三种方式:简单的SQL拼接字符串的形式,SQL语句使用参数的形式和存储过程的形式,每
- 完整的示例代码如下: 代码如下:<%@LANGUAGE="JAVASCRIPT" CODEPAGE="6
- 关于中大型开发b/s开发中的缓存(cache),我的一些看法,有不正确的或者是有笔误的地方,请指正。thanks首先,应该了解基本的,对于缓
- 前些日子有网友问:将ASP纪录集输出成n列的的表格形式显示的方法?现在写了一个,方便大家使用。'定义变量 Dim cn,r
- 什么是 docopt?1、docopt 是一种 Python 编写的命令行执行脚本的交互语言。它是一种语言!它是一种语言!它是一种语言!2、
- “选项卡”经常会被混同为“滑动门”,滑动门只是一种背景自适应内容的实现方法,不只可以应用在导航菜单,一样也可以应用在其他地方。例如选项卡中就
- 前言当使用pandas读取csv文件时,如果元素为空,则将其视为缺失值NaN(Not a Number, 非数字)。使用dropna()方法
- 首先下载最新版本的python。www.python.org,目前版本为3.1。 接下来是安装,在windows下python的安装与其他应
- 如下所示:# coding: utf-8import osimport psutilimport timedef write_pid():
- argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数。一、传入一个参数import argpars
- 一、适配器模式适配器,顾名思义是一种万能的接口,达到万能转换的效果。适配器模式,定义一个适配器类,并且在该类中定义了适配器接口,这些适配接口
- 1.安装第三方模块包pip install django-ckeditor2.添加应用INSTALLED_APPS = [ ..
- 1. 确认已经安装了NT/2000和SQL Server的最新补丁程序,不用说大家应该已经安装好了,但是我觉得最好还是在这里提醒一下。2.
- 本文实例讲述了Python文件及目录操作的方法。分享给大家供大家参考。具体分析如下:在python中对文件及目录的操作一般涉及多os模块,o