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。

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

相关推荐

  1. Python写入csv格式文件出现乱码的解决方法

    2024-04-29 20:12:03       54 阅读
  2. Python文件读取和写入

    2024-04-29 20:12:03       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-29 20:12:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-29 20:12:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-29 20:12:03       87 阅读
  4. Python语言-面向对象

    2024-04-29 20:12:03       96 阅读

热门阅读

  1. MySQL事务介绍

    2024-04-29 20:12:03       32 阅读
  2. 如何在虚拟专用服务器上配置 Nginx Web 服务器

    2024-04-29 20:12:03       39 阅读
  3. SpringBoot Redis使用篇

    2024-04-29 20:12:03       30 阅读
  4. Linux学习阶段划分及学习方法

    2024-04-29 20:12:03       33 阅读
  5. 泽尼克波前拟合 matlab

    2024-04-29 20:12:03       25 阅读
  6. MATLAB初学者入门(18)—— 近邻算法

    2024-04-29 20:12:03       35 阅读
  7. 边缘计算概述_5.边缘计算应用场景

    2024-04-29 20:12:03       32 阅读
  8. mac 安装 python3

    2024-04-29 20:12:03       29 阅读
  9. 计算机网络 2.4差错检验与校正

    2024-04-29 20:12:03       33 阅读
  10. springboot常用注释

    2024-04-29 20:12:03       37 阅读
  11. echarts 旭日图 层级嵌套 子级完全继承父级颜色

    2024-04-29 20:12:03       33 阅读
  12. TP8 利用jwt 生成token

    2024-04-29 20:12:03       31 阅读