Python 魔法学院 - 第17篇:Python CSV与Excel ⭐⭐

目录

    • 引言
    • 1. CSV 文件处理
      • 1.1 什么是 CSV 文件?
      • 1.2 Python 中的 CSV 模块
        • 1.2.1 读取 CSV 文件
        • 1.2.2 写入 CSV 文件
      • 1.3 使用 Pandas 处理 CSV 文件
        • 1.3.1 读取 CSV 文件
        • 1.3.2 写入 CSV 文件
    • 2. Excel 文件处理
      • 2.1 什么是 Excel 文件?
      • 2.2 使用 openpyxl 处理 Excel 文件
        • 2.2.1 读取 Excel 文件
        • 2.2.2 写入 Excel 文件
      • 2.3 使用 Pandas 处理 Excel 文件
        • 2.3.1 读取 Excel 文件
        • 2.3.2 写入 Excel 文件
    • 3. CSV 与 Excel 的对比
    • 4. 实战练习:编写一个自动化办公工具,批量处理 Excel 文件
      • 4.1 需求分析
      • 4.2 实现步骤
      • 4.3 代码实现
    • 5. 改进与优化
      • 5.1 错误处理
      • 5.2 性能优化
      • 5.3 用户界面
    • 6. 总结

引言

在数据处理的魔法世界中,CSVExcel 文件是两种最常见的文件格式。它们就像是魔法师手中的卷轴,记录着大量的信息和数据。作为一名 Python 魔法师,掌握如何处理这些文件格式是必不可少的技能。本文将带你深入探索 Python 中处理 CSVExcel 文件的魔法技巧,并通过一个实战练习,教你如何编写一个自动化办公工具,批量处理 Excel 文件。


1. CSV 文件处理

1.1 什么是 CSV 文件?

CSV(Comma-Separated Values)文件是一种简单的文本文件格式,用于存储表格数据。每行代表一条记录,字段之间用逗号分隔。CSV 文件通常用于数据交换,因为它简单、轻量且易于处理。

详细解释

  • CSV 文件是一种纯文本文件,可以用任何文本编辑器打开和编辑。
  • 每行数据代表一条记录,字段之间用逗号分隔,因此得名 Comma-Separated Values
  • CSV 文件通常不包含格式信息,如字体、颜色等,因此文件大小较小,适合存储大量数据。
  • CSV 文件的扩展名通常是 .csv,但有时也会使用 .txt 或其他扩展名。

适用场景

  • 数据交换:CSV 文件是不同系统之间交换数据的常用格式。
  • 简单数据处理:适合存储和处理结构简单的表格数据。

1.2 Python 中的 CSV 模块

Python 提供了内置的 csv 模块,用于读取和写入 CSV 文件。这个模块非常强大,能够处理各种复杂的 CSV 文件格式。

1.2.1 读取 CSV 文件
import csv

with open('data.csv', mode='r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

详细解释

  • open('data.csv', mode='r'):打开名为 data.csv 的文件,模式为读取(r)。mode='r' 表示以只读模式打开文件。
  • csv.reader(file):创建一个 CSV 读取器对象。csv.reader 会将文件中的每一行解析为一个列表,列表中的每个元素对应一个字段。
  • for row in reader:逐行读取文件内容,每行作为一个列表返回。row 是一个列表,包含当前行的所有字段。

结果为

['Name', 'Age', 'City']
['Alice', '24', 'New York']
['Bob', '30', 'Los Angeles']
['Charlie', '22', 'Chicago']

内存结构模拟

[
    ['Name', 'Age', 'City'],
    ['Alice', '24', 'New York'],
    ['Bob', '30', 'Los Angeles'],
    ['Charlie', '22', 'Chicago']
]
1.2.2 写入 CSV 文件
import csv

data = [
    ['Name', 'Age', 'City'],
    ['Alice', '24', 'New York'],
    ['Bob', '30', 'Los Angeles'],
    ['Charlie', '22', 'Chicago']
]

with open('output.csv', mode='w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

详细解释

  • open('output.csv', mode='w', newline=''):打开名为 output.csv 的文件,模式为写入(w)。mode='w' 表示以写入模式打开文件,如果文件已存在,则会覆盖原有内容。newline='' 用于避免在 Windows 系统中出现空行。
  • csv.writer(file):创建一个 CSV 写入器对象。csv.writer 用于将数据写入 CSV 文件。
  • writer.writerows(data):将数据写入文件。writerows 方法接受一个二维列表作为参数,将列表中的每一行写入文件。

结果为:生成一个名为 output.csv 的文件,内容与 data 列表相同。

你可能感兴趣的:(《Python,魔法学院》,python,excel,开发语言,windows,pycharm)