亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

Python 读写 CSV 文件:综合指南

Python 读写 CSV 文件:综合指南

什么是 CSV 文件?

CSV(逗号分隔值) 文件以纯文本存储表格数据。每行代表一行,字段间用逗号、分号或其他分隔符分隔。CSV 文件轻量、被电子表格、数据库、数据分析工具广泛支持,是数据交换首选格式。

CSV 示例文件

下面是小型编程语言数据库的典型 CSV 表示。首行为列标题,后续为数据行。

表格数据

编程语言设计者出现年份扩展名
PythonGuido van Rossum1991.py
JavaJames Gosling1995.java
C++Bjarne Stroustrup1983.cpp

CSV 数据

Programming language,Designed by,Appeared,Extension
Python,Guido van Rossum,1991,.py
Java,James Gosling,1995,.java
C++,Bjarne Stroustrup,1983,.cpp

Python 内置 csv 模块

csv 模块提供读写 CSV 文件的低级工具。自动处理引用、分隔符、行终止符,减少手动字符串操作。

关键函数

读取 CSV 文件

下面是最小化、生产就绪的示例,读取 CSV 并将每行作为 Python 列表打印。

import csv
with open('data.csv', mode='r', newline='', encoding='utf-8') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

输出:

["Programming language", "Designed by", "Appeared", "Extension"]
["Python", "Guido van Rossum", "1991", ".py"]
["Java", "James Gosling", "1995", ".java"]
["C++", "Bjarne Stroustrup", "1983", ".cpp"]

读取 CSV 为字典

用 csv.DictReader 自动将表头映射为字典键,简化数据处理。

import csv
with open('data.csv', mode='r', newline='', encoding='utf-8') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

生成字典:

{"Programming language": "Python", "Designed by": "Guido van Rossum", "Appeared": "1991", "Extension": ".py"}
{"Programming language": "Java", "Designed by": "James Gosling", "Appeared": "1995", "Extension": ".java"}
{"Programming language": "C++", "Designed by": "Bjarne Stroustrup", "Appeared": "1983", "Extension": ".cpp"}

写入 CSV 文件

csv.writer 和 csv.DictWriter 类高效写入数据。

import csv
rows = [
    ["Programming language", "Designed by", "Appeared", "Extension"],
    ["Python", "Guido van Rossum", "1991", ".py"],
    ["Java", "James Gosling", "1995", ".java"],
    ["C++", "Bjarne Stroustrup", "1983", ".cpp"],
]
with open('writeData.csv', mode='w', newline='', encoding='utf-8') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    writer.writerows(rows)

生成的 writeData.csv 将与原始示例匹配。

用 Pandas 处理 CSV

Pandas 将数据加载为 DataFrame,以极少代码实现强大数据操作。未安装时用 pip install pandas。

用 Pandas 读取

import pandas as pd
df = pd.read_csv('data.csv')
print(df)

输出:

  Programming language  Designed by  Appeared Extension
0  Python               Guido van Rossum  1991      .py
1  Java                 James Gosling     1995      .java
2  C++                  Bjarne Stroustrup 1983      .cpp

用 Pandas 写入

import pandas as pd
data = {
    'Programming language': ['Python', 'Java', 'C++'],
    'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
    'Appeared': ['1991', '1995', '1983'],
    'Extension': ['.py', '.java', '.cpp'],
}
df = pd.DataFrame(data)
df.to_csv('pandaresult.csv', index=False)
print(df)

生成的 CSV 与原始相同,但 DataFrame 提供高级分析能力。

结论

Python 的 csv 模块和 Pandas 提供稳健、易用的工具读取、写入和操作 CSV 文件。掌握这些库能解锁跨 Web 服务、ETL 管道和科学研究的高效数据工作流。立即实验并将 CSV 处理集成到项目中。

Python

  1. 用 VHDL TEXTIO 库从文本文件初始化 FPGA 块 RAM
  2. Python关键字与标识符:掌握保留字与命名规范
  3. Python语句、缩进与注释:清晰指南
  4. Python变量、常量与字面量完全指南
  5. 精通Python类型转换与强制转换:综合指南
  6. 精通Python输入输出与模块导入:实战指南
  7. 理解Python全局、局部与非局部变量
  8. Python 文件 I/O:掌握文件操作、读写与管理
  9. 精通 Python 目录与文件操作
  10. 精通 Python 错误与内置异常
  11. Python 获取当前日期和时间:实用指南
  12. Java BufferedReader 读取文件:实战指南与示例