python对csv文件处理和把对应图片删除(python csv 删除)

http://www.itjxue.com  2023-04-02 20:05  来源:未知  点击次数: 

python中怎么处理csv文件

什么是CSV

就是内容用逗号隔开,后缀是‘.csv’的文件。它可以被任何一个文本编辑器打开。如果用excel打开,它又可以是这样的:

END

读CSV

典型的可处理的csv文件,通常含有表头,也就是每列的列名。这样一来,每一行的内容就可以被当作是以表头为key的字典。于是可以使用csv定义的类:

class csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds)

下面是官方的例子(Python 3)。我们看到,对于csv文件的内容,我们可以通过相应的tag,也就是字典的key来读取。

在实际使用过程中,为了分离代码和方便阅读,可以先把读取的内容转存到列表,随后再根据各个key进行分开处理(针对多列的情况)。

END

写CSV

同样的,写入的也是列表。使用的类:

class csv.DictWriter(csvfile, fieldnames, restval='', extrasaction='raise', dialect='excel', *args, **kwds)

官方例子:我们看到,有专门的函数来写入表头,没有表头数据是无法对应的。需要注意的是,对于下列语句,‘w’需要修改为‘wb’,否则每次写入会有多余空行

with open('names.csv', 'wb') as csvfile

如何用python处理csv文件

csv模块是Python内置的模块,可以直接import

import?csv

可以参考:

python 两个csv文件对此处理

input?=?{}

with?open('tst1.csv')?as?f:

????for?line?in?f:

????????key,?field1,?field2,?field3?=?line[:-1].split(',')

????????input[key]?=?(key,?field1,?field2,?field3)

????????

with?open('tst2.csv')?as?fr,?open('output.csv',?w)?as?fw:

????for?line?in?fr:

????????key,?field1,?field2,?field3?=?line[:-1].split(',')

????????if?key?in?input:

????????????if?input[key][3]?!=?'99991231':

????????????????del?input[key]

????????????????continue

????????????if?field3?==?'99991231':

????????????????fw.write(','.join(input[key])?+?'\n')

????????????????del?input[key]

????????????????continue

????????fw.write(line)

????content?=?[]

????for?key?in?input:

????????fw.write(','.join(input[key])?+?'\n')

直接在网页里输入的,没测试。

说说如何利用 Python 处理 CSV 文件

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删除csv文件中的某一列

1、首先电脑中打开csv文件,查看数据,如下图所示。

2、接着在打开的python软件中,读取csv的代码,查看返回类型,如下图所示。

3、接着读取数据代码并输出,如下图所示。

4、然后输入csv文件代码,如下图所示。

5、最后查看写好的csv文件,如下图所示就完成了。

python 如何将csv数据按行顺序抽取形成新的csv 原本csv对应数据抽取后的也要删除掉

这个是每隔4行取一行,如果不是这个逻辑,你修改框部分就可以了

(责任编辑:IT教学网)

更多

推荐照片处理文章