Python怎么读取csv文件中的一列并存入文档(python怎么读取csv文

http://www.itjxue.com  2023-03-24 19:46  来源:未知  点击次数: 

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

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

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

什么是CSV文件?

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

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文件,把其中每一列的数据提取出来单独保存为一个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)

得到:

(责任编辑:IT教学网)

更多

推荐金山WPS文章