Python csv文件读写

本文介绍了如何使用Python的csv模块读写csv文件。读取时,通过csv.reader()创建阅读器对象,数据以字符串形式存储在列表中;写入时,利用writerow()函数逐行写入数据,注意设置newline=''避免额外的空行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

csv:Comma-Separated Values,逗号分隔的值。csv文件以字符串形式存储数据,易于读写。

Python用csv模块来处理csv文件,csv模块包含在Python标准库中。

1、读csv文件

import csv

# 读取csv文件
with open('CSV1.csv', 'r') as f:  # 打开文件,并把文件对象保存为f,打开文件方式默认为r
    csv_reader = csv.reader(f)  # 创建阅读器对象
    original_data = [row for row in csv_reader]  # 获取文件中的数据

①首先导入csv模块,然后以只读模式打开文件,并把文件对象保存为f。

②调用csv.reader(),并把文件对象f传入,创建该文件的阅读器对象。

③最后用列表解析语句快速获取文件中的每一行数据。

 如文件中保存的全部数据为:

print(original_data),打印出文件中的数据为:

[['Stimulus', 'Formatted Data'], ['1.00E+08', '-3.48E-01'], ['1.10E+08', '-2.33E
### Python CSV 文件读取与写入 #### 列表形式读取CSV文件 为了以列表的形式获取CSV文件的信息,可以使用`csv.reader()`方法。此方法返回一个迭代器,每次迭代都会得到CSV文件的一行数据作为字符串列表。 ```python import csv def read_csv_list(file_path): info_list = [] with open(file_path, mode='r', newline='', encoding='utf-8') as file: reader = csv.reader(file) for row in reader: info_list.append(row) return info_list ``` 上述函数定义了一个名为`read_csv_list`的方法来读取指定路径下的CSV文件,并将其内容按照行分割成多个子列表存储于`info_list`变量中[^1]。 #### 字典形式读取CSV文件 如果希望更方便地访问列名对应的值,则可以选择使用`csv.DictReader()`。它会把每行的第一项当作键,其余各项分别对应各个字段的值,形成字典型的数据结构。 ```python import csv def read_csv_dict(file_path): dict_list = [] with open(file_path, mode='r', newline='', encoding='utf-8') as file: dict_reader = csv.DictReader(file) for row in dict_reader: dict_list.append(dict(row)) return dict_list ``` 这段代码展示了如何利用`DictReader`类将CSV文件的内容转化为由字典组成的列表,其中每个字典代表一行记录[^3]。 #### 写入CSV文件CSV文件中添加新数据可以通过调用`csv.writer()`实现。下面是一个简单的例子说明怎样创建一个新的CSV文件并向其内部追加几条记录: ```python import csv data_to_write = [ ['姓名', '年龄'], ['张三', 20], ['李四', 22] ] file_path = './output.csv' with open(file_path, mode='w', newline='', encoding='utf-8') as file: writer = csv.writer(file) writer.writerows(data_to_write) ``` 这里先准备好了要保存到CSV文件里的二维数组`data_to_write`,接着打开目标文件并实例化writer对象;最后通过`writerows()`一次性写出多行数据至该文件[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值