python读取csv文件的某一列数据(python怎么读取csv文件中的一列)

http://www.itjxue.com  2023-03-25 03:43  来源:未知  点击次数: 

Python如何读取csv文件某一列的每一行数据,并判断该数值是否满足条件?

读取csv文件,用的是csv.reader()这个方法。返回结果是一个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一行,某一行,或某一列。代码如下:

每一行都是一个list,然后用条件判断即可

python 读取多个csv文件中某一列,并生成一个新csv文件

csv文件应该是用逗号分隔得才对,否则怎么算作是csv文件。楼主你开玩笑吧。否则你这只是一个普通的文本文件。如果是真正的csv文件,我只说一点,python里面有csv模块,专门处理csv文件。如果是空格分割应该也可以,建议你,看一下python的csv模块的API,蛮简单的代码,其实如果不用的话自己写也可以。不是很复杂。代码片段如下:

def?deal_file(file_in,?file_out)

????with?open(file_in,?'r')?as?f_in:

????????with?open(file_out,?'w')?as?f_out:

????????????for?line?in?f_in:

????????????????f_out.write(line.split('?')[2]?+?'\n')

之后你可以将所有的输入文件放到一个列表里面,进行迭代调用这个函数就可以了。

python怎么同时写入csv的第一行和第一列

有许多方法可以在Python中读写CSV文件。有几种不同的方法,例如,您可以使用Python的内置open()函数来读取CSV(逗号分隔值)文件,或者可以使用Python的专用csv模块来读取和写入CSV文件。根据您的用例,您还可以使用Python的Pandas库读取和写入CSV文件。

在本文中,您将看到如何使用Python的Pandas库读取和写入CSV文件。但是,在此之前,让我们简要地看看什么是CSV文件。

什么是CSV文件?

CSV文件只不过是一个简单的文本文件。但是,这是存储表格数据的最常见,最简单和最简单的方法。这种特定格式通过遵循分为行和列的特定结构来排列表。这些行和列包含您的数据。每行都以新行终止,以开始下一行。同样,逗号(也称为定界符)分隔每行中的列。

Python怎么读取csv文件指定列为dataframe?

设置read_csv()的mangle_dupe_cols参数为True

重复的列将被指定为“X”、“X.1”、“X.N”,而不是“X”…“X”。如果列中有重复的名称,传入False将导致数据被覆盖。

建议多看文档!

希望对您的问题有所帮助!

求Python大神指导,一个csv文件,把其中每一列的数据提取出来单独保存为一个csv文件

csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:

就可以存储为csv文件,文件内容是:

No.,Name,Age,Score

1,mayi,18,99

2,jack,21,89

3,tom,25,95

4,rain,19,80

假设上述csv文件保存为"test.csv"

1.读文件

如何用Python像操作Excel一样提取其中的一列,即一个字段,利用Python自带的csv模块,有两种方法可以实现:

第一种方法使用reader函数,接收一个可迭代的对象(比如csv文件),能返回一个生成器,就可以从其中解析出csv的内容:比如下面的代码可以读取csv的全部内容,以行为单位:

#!/usr/bin/python3

# -*- conding:utf-8 -*-

__author__ = 'mayi'

import csv

#读

with open("test.csv", "r", encoding = "utf-8") as f:

reader = csv.reader(f)

rows = [row for row in reader]

print(rows)

得到:

[['No.', 'Name', 'Age', 'Score'],

['1', 'mayi', '18', '99'],

['2', 'jack', '21', '89'],

['3', 'tom', '25', '95'],

['4', 'rain', '19', '80']]

要提取其中某一列,可以用下面的代码:

#!/usr/bin/python3

# -*- conding:utf-8 -*-

__author__ = 'mayi'

import csv

#读取第二列的内容

with open("test.csv", "r", encoding = "utf-8") as f:

reader = csv.reader(f)

column = [row[1] for row in reader]

print(column)

得到:

['Name', 'mayi', 'jack', 'tom', 'rain']

注意从csv读出的都是str类型。这种方法要事先知道列的序号,比如Name在第2列,而不能根据'Name'这个标题查询。这时可以采用第二种方法:

第二种方法是使用DictReader,和reader函数类似,接收一个可迭代的对象,能返回一个生成器,但是返回的每一个单元格都放在一个字典的值内,而这个字典的键则是这个单元格的标题(即列头)。用下面的代码可以看到DictReader的结构:

# -*- conding:utf-8 -*-

__author__ = 'mayi'

import csv

#读

with open("test.csv", "r", encoding = "utf-8") as f:

reader = csv.DictReader(f)

column = [row for row in reader]

print(column)

得到:

[{'No.': '1', 'Age': '18', 'Score': '99', 'Name': 'mayi'},

{'No.': '2', 'Age': '21', 'Score': '89', 'Name': 'jack'},

{'No.': '3', 'Age': '25', 'Score': '95', 'Name': 'tom'},

{'No.': '4', 'Age': '19', 'Score': '80', 'Name': 'rain'}]

如果我们想用DictReader读取csv的某一列,就可以用列的标题查询:

#!/usr/bin/python3

# -*- conding:utf-8 -*-

__author__ = 'mayi'

import csv

#读取Name列的内容

with open("test.csv", "r", encoding = "utf-8") as f:

reader = csv.DictReader(f)

column = [row['Name'] for row in reader]

print(column)

得到:

['mayi', 'jack', 'tom', 'rain']

2.写文件

读文件时,我们把csv文件读入列表中,写文件时会把列表中的元素写入到csv文件中。

#!/usr/bin/python3

# -*- conding:utf-8 -*-

__author__ = 'mayi'

import csv

#写:追加

row = ['5', 'hanmeimei', '23', '81']

out = open("test.csv", "a", newline = "")

csv_writer = csv.writer(out, dialect = "excel")

csv_writer.writerow(row)

得到:

2018-01-06 python读取csv某一行

我要读取csv文件中的某一行,写到这里的时候就不知道咋整了:

至此,我想啊,怎么输出一行来呢?明明很简单的问题,看来是python基础不过关呐! 不过没关系,所有的牛逼不都是这么一点一滴积累起来的么?!

保持好奇心和求知欲就好啦!!!

我把文件全部输出( print row )是这样子的:

假设我完全不知道上面的 csv_reader 就是一个迭代器,那么我可能会认为这就是一个二维数组,那么我直接 csv_reader[0] 输出一行试试嘛!反正又不要钱!

失败!*1

既然这样子不行,那么我把它整成二维数组不就好啦!

噢啦~打完收工!

但是这种写法...... 一点都不优雅啊!你直接写个0是什么意思啊?裸奔吗?你append是啥意思啊?不嫌累的慌吗?这么写跟C有什么区别啊!作为贵族你的尊严呢?!

上面是我们根据行号来查找数据,但是假如我们要 根据行内数据特征来查找 呢?

duang~介是嘛?! DictReader !!!

输出的是字典了哟~ 第一行就是字典的key ,下面对应的就是value:

假如我要找TestResult=“1”的行,咋整?

输出:

(责任编辑:IT教学网)

更多

推荐linux服务器文章