说说如何利用python处理csv文件

author author     2023-04-08     423

关键词:

参考技术A CSV 表示 “Comma-Separated Values (逗号分隔的值) ” , CSV 文件是简化的电子表格,实际为纯文本文件。

一个 CSV 文件,格式是这样的:

因为 CSV 文件中的每个单元格都是以逗号分割,所以也许有人会对每行文本调用 split() 方法,来解析 CSV 文件。但 CSV 文件也有自己的转义字符,通过转义字符,允许逗号和其他字符作为值的一部分,但单纯使用 split() 方法不能处理这些转义字符。因为这些潜在的缺陷,所以建议总是使用 csv 模块来读写 CSV 文件。

csv 模块是 Python 自带的,所以可以直接导入。

要使用 csv 模块从 CSV 文件中读取数据,我们需要创建一个 Reader 对象。 通过 Reader 对象,我们可以迭代遍历 CSV 文件中的每一行内容。

运行结果:

要用 csv 模块读取 CSV 文件,首先先使用 open() 函数打开它 ,就像打开任何其他文本文件一样。然后将它传递给 csv .reader() 函数。 这个函数将返回一个 Reader 对象。注意,csv .reader() 函数不接受文件名作为入参。

要访问 Reader 对象中的值,最直接的方法,就是利用 list() 将它转换成一个普通 Python 列表。它实际为一个包含列表的列表,用于表示二维数据。

我们还可以使用表达式 data [ row ][ col ] 来访问 CSV 中特定行和列的值。其中, row 是 data 中一个列表的下标, col 是该列表中,我们想访问的项的下标:

运行结果:

运行结果:

Writer 对象可以让我们把数据写入 CSV 文件。

运行结果:

在 Windows 上,需要为 open() 函数的 newline 关键字参数传入一个空字符串。如果没有设置 newline 参数, output.csv 中的行距将变为两倍,如下图所示。

如果写入的内容包含逗号,那么 csv 模块会自动加上双引号,对其进行转义,如下例所示。

运行结果:

我们也可以利用 delimiter ,来制作 TSV 文件,TSV 是Tab-separated values的缩写,即以制表符作为分隔符的文件;利用 lineterminator 参数来设定行距。

运行结果:

这里利用 lineterminator='\n\n\n' 将行与行之间的字符变为三个换行符,效果就是实现了 3 倍行距。

python两种读取txt与csv文件方式(利用numpy处理数据)(代码片段)

...一共80个数据在记事本中显示的内容在pycharm中显示的内容利用pandas方式读取一、csv文件1、读取所有内容importpandasaspddata_pd=pd.read_csv("Sheet1.csv")#读取表头元素head_label=list(Sheet1.columns.values)#head_label打印结果为#['序号... 查看详情

python如何导入数据

参考技术A通过标准的Python库导入CSV文件:Python提供了一个标准的类库CSV文件。这个类库中的reader()函数用来导入CSV文件。当CSV文件被读入后,可以利用这些数据生成一个NumPy数组,用来训练算法模型: 查看详情

从csv文件导入python时如何替换数字

】从csv文件导入python时如何替换数字【英文标题】:Howtoreplacenumberswhenimportingfromcsvfileintopython【发布时间】:2022-01-0803:54:39【问题描述】:我目前正在编写一个Python脚本,以从csv文件中提取数据,以利用Jinja2模板生成ciscoASR配置... 查看详情

如何在 python 中操作一个巨大的 CSV 文件

】如何在python中操作一个巨大的CSV文件【英文标题】:HowtomanipulateahugeCSVfileinpython【发布时间】:2016-10-1215:20:36【问题描述】:我有一个超过16G的CSV文件,每一行都是文本数据。当我对整个CSV文件数据进行编码(例如one-hot-encode... 查看详情

如何知道python中一行CSV文件的字节位置?

】如何知道python中一行CSV文件的字节位置?【英文标题】:HowtoknowthebytepositionofarowofaCSVfileinpython?【发布时间】:2012-08-2000:44:40【问题描述】:我正在处理巨大的CSV文件(20-2500万行),出于很多原因,我不想将它们拆分成更小的... 查看详情

python处理csv文件(代码片段)

如何使用python处理csv文件素材准备​csv⽂件其实就是⽂本⽂件,遵循了⼀定的格式,常⻅的csv⽂件⼀般是⽤逗号来隔开列,⽤换⾏符隔开不同的⾏,注意这⾥的符号都是英⽂符号。我们可以直接⽤open函数来打开csv... 查看详情

如何操作一个巨大的 csv 文件(> 12GB)?

】如何操作一个巨大的csv文件(>12GB)?【英文标题】:Howtomanipulateahugecsvfile(>12GB)?【发布时间】:2014-10-0721:56:50【问题描述】:我正在处理一个大约13GB和大约130,000,000行的巨大csv文件。我正在使用python并尝试使用我以前用... 查看详情

python处理csv数据

从CS中导入数据Python中有一个CSV模块支持读写各种方言格式的CSV文件。方言是很重要的,因为没有一个同意的CSV标准,不同的应用实现CSV的方式略有不同,当看到文件的内容的时候你往往很容易第辨认出文件使用的是哪种方言。... 查看详情

Python 多处理写入 csv 数据以获取大量文件

】Python多处理写入csv数据以获取大量文件【英文标题】:PythonMultiprocessingwritetocsvdataforhugevolumefiles【发布时间】:2021-11-1623:09:14【问题描述】:我正在尝试使用多处理程序进行计算并将其写入另一个txt文件。我在输出txt文件中出... 查看详情

如何在 Python 中将数据添加到 CSV 文件第 n 列的新行中?

】如何在Python中将数据添加到CSV文件第n列的新行中?【英文标题】:Howtoadddatatoanewrowinthen-thcolumnofaCSVfileinPython?【发布时间】:2020-11-2316:44:44【问题描述】:我正在处理不完整的历史数据,并正在使用Python从TXT文件中选择特定信... 查看详情

python处理.csv文件

看下.csv文件的定义:逗号分隔值(Comma-SeparatedValues,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是... 查看详情

如何在 ssis 中处理之前检查 csv 文件中的文件结尾

】如何在ssis中处理之前检查csv文件中的文件结尾【英文标题】:howtocheckendoffileinacsvfilebeforeprocessingitinssis【发布时间】:2013-03-1817:33:27【问题描述】:我创建了一个SSIS包,它使用ForEachLoop容器处理.CSV文件。所有csv文件的最后一... 查看详情

如何逐行处理大型 CSV 文件?

】如何逐行处理大型CSV文件?【英文标题】:HowcanIprocessalargeCSVfilelinebyline?【发布时间】:2018-01-1816:55:43【问题描述】:我已经成功编写了一个脚本,该脚本使用cURL下载CSV文件,然后将CSV解析为数组,如下所示:$rows=array_map(funct... 查看详情

python:利用for循环比较两个列表元素的异同进而找出共有元素各自不同元素并全部导出到csv文件实现代码

Python:利用for循环比较两个列表元素的异同进而找出共有元素、各自不同元素并全部导出到csv文件实现代码目录利用for循环比较两个列表元素的异同进而找出共有元素、各自不同元素并全部导出到csv文件实现代码 查看详情

处理CSV数据时如何忽略第一行数据?

】处理CSV数据时如何忽略第一行数据?【英文标题】:HowtoignorethefirstlineofdatawhenprocessingCSVdata?【发布时间】:2012-07-0603:40:06【问题描述】:我要求Python从一列CSV数据中打印最小数字,但顶行是列号,我不希望Python将顶行考虑在内... 查看详情

处理CSV数据时如何忽略第一行数据?

】处理CSV数据时如何忽略第一行数据?【英文标题】:HowtoignorethefirstlineofdatawhenprocessingCSVdata?【发布时间】:2012-07-0603:40:06【问题描述】:我要求Python从一列CSV数据中打印最小数字,但顶行是列号,我不希望Python将顶行考虑在内... 查看详情

如何快速处理大型csv文件?

】如何快速处理大型csv文件?【英文标题】:Howtodealwithlargecsvfilequickly?【发布时间】:2021-04-1718:28:47【问题描述】:我有一个超过100万行的大型csv文件。每行有两个特征,调用站点(API调用的位置)和调用站点的一系列标记。它... 查看详情

我可以加快我在 python 中读取和处理许多 .csv 文件的速度吗?

】我可以加快我在python中读取和处理许多.csv文件的速度吗?【英文标题】:CanIspeedupmyreadingandprocessingofmany.csvfilesinpython?【发布时间】:2019-11-2321:54:36【问题描述】:我目前正在处理一个由90个.csv文件组成的数据集。.csv文件共有... 查看详情