python基础学习之写入csv文件

前言

Python编程中,经常会遇到要将数据存到csv文件中,今天来详细讲一下。

一.功能目的

将以下数据存到csv文件中。

data = [  
    {'name': 'Alice', 'age': 25, 'city': 'New York'},  
    {'name': 'Bob', 'age': 30, 'city': 'Los Angeles'},  
    {'name': 'Charlie', 'age': 35, 'city': 'Chicago'}  
]

二.功能调研

根据搜索引擎,我们可以提取到以下信息:

1.写入文件

with open 函数在 Python 中用于打开一个文件,并返回一个文件对象。这个函数通常与 as 关键字一起使用,以便将文件对象赋值给一个变量,从而可以对其进行操作。使用 with 语句的一个主要优点是它会自动管理文件的打开和关闭,即使在处理文件时发生异常也是如此。

代码示例如下:

# 定义要写入的数据  
data = "Hello, world!"  
  
# 使用 with open 打开文件,如果文件不存在,则创建它  
# 'w' 模式表示写入,会覆盖文件中的任何现有内容  
with open('example.txt', 'w', encoding='utf-8') as file:  
    # 写入数据到文件  
    file.write(data)  
  
# with 语句块结束后,文件会自动关闭  
print("数据已写入 example.txt")

在这个例子中,open 函数接收三个参数:

文件名 ('example.txt'):要打开或创建的文件的名称。

模式 ('w'):打开文件的模式。'w' 表示写入模式,会覆盖文件中的任何现有内容。如果要追加内容到文件末尾而不是覆盖它,可以使用 'a' 模式。其他常见的模式包括 'r'(读取)和 'x'(如果文件已存在则失败)。

encoding ('utf-8'):指定文件的字符编码。UTF-8 是一种常用的编码方式,它支持国际字符集。

as 关键字后面的 file 是一个变量,它引用了打开的文件对象。

在这个 with 语句块内部,你可以通过 file 变量来执行文件操作,比如读取或写入数据。

当 with 语句块执行完毕后,Python 会自动关闭文件,即使发生异常也是如此。

2.csv.DictWriter类

csv.DictWriter 类是 Python 的 csv 模块中的一个功能,它允许你以字典的形式将数据写入 CSV 文件。

下面是 csv.DictWriter 类的一些基本用法和特性:

初始化

当你创建 csv.DictWriter 对象时,你需要传递两个主要的参数:一个文件对象和一个字段名列表。文件对象通常是通过 open() 函数创建的,而字段名列表则定义了 CSV 文件的列标题。

import csv  
  
# 打开一个文件以写入,并创建一个 csv.DictWriter 对象  
with open('example.csv', 'w', newline='') as csvfile:  
    fieldnames = ['name', 'age', 'city']  
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
写数据

csv.DictWriter 类提供了几个方法来帮助你写入数据:

writeheader():这个方法将字段名(即列标题)写入 CSV 文件的第一行。

writerow(row_dict):此方法将单个字典(row_dict)作为一行写入 CSV 文件。字典的键对应于字段名,而值则是实际写入的数据。

writerows(row_dicts):此方法接受一个字典列表(row_dicts),并将每个字典作为一行写入 CSV 文件。

注意,writerow() 和 writerows() 方法只写入值,不写入键。键(即字段名)是在调用 writeheader() 方法时写入的,或者在创建 csv.DictWriter 对象通过 fieldnames 参数指定的。

我们可以根据以上方法来达到我们的目的。

三.编写代码

1.代码示例

代码如下(示例):

import csv  
  
# 准备数据  
data = [  
    {'name': 'Alice', 'age': 25, 'city': 'New York'},  
    {'name': 'Bob', 'age': 30, 'city': 'Los Angeles'},  
    {'name': 'Charlie', 'age': 35, 'city': 'Chicago'}  
]  
  
# 定义CSV文件的路径  
csv_file_path = 'output.csv'  
  
# 打开文件并创建CSV写入器  
with open(csv_file_path, 'w', newline='', encoding='utf-8') as csvfile:  
    fieldnames = ['name', 'age', 'city']  
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)  
  
    # 写入数据  
    writer.writeheader()  
    writer.writerows(data)  
  
print(f"数据已写入 {csv_file_path}")

2.结果如下

运行这段代码,就可以得到以下结果:

总结

本文主要讲了使用with open函数和csv.DictWriter类来将数据写入csv。

后续会持续更新,欢迎关注!

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值