CSV 与表格处理
csv 模块读写、DictReader/Writer、openpyxl 操作 Excel
CSV 与表格处理
csv 模块处理 CSV 文件,openpyxl 操作 Excel——Python 处理表格数据的两大利器。
学完本章你将: 掌握 csv 读写、DictReader/Writer、openpyxl 基础。
csv 模块
python
import csv
# 写入
with open("users.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["姓名", "年龄", "城市"])
writer.writerows([
["小明", 25, "北京"],
["小红", 22, "上海"],
])
# 读取
with open("users.csv", "r", encoding="utf-8") as f:
reader = csv.reader(f)
header = next(reader) # ["姓名", "年龄", "城市"]
for row in reader:
print(row)
# DictReader —— 按列名访问
with open("users.csv", "r", encoding="utf-8") as f:
reader = csv.DictReader(f)
for row in reader:
print(row["姓名"], row["年龄"]) # 按列名访问
DictWriter —— 写字典
python
with open("users.csv", "w", newline="", encoding="utf-8") as f:
fieldnames = ["姓名", "年龄", "城市"]
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({"姓名": "小明", "年龄": 25, "城市": "北京"})
openpyxl —— Excel 操作
python
from openpyxl import Workbook
# 写入
wb = Workbook()
ws = wb.active
ws["A1"] = "Hello"
ws.append(["姓名", "年龄"]) # 追加一行
ws.append(["小明", 25])
wb.save("output.xlsx")
# 读取
from openpyxl import load_workbook
wb = load_workbook("data.xlsx")
ws = wb.active
for row in ws.iter_rows(values_only=True):
print(row)