安装包
shell
pip install openpyxl
一、读取excel
导出
py
import openpyxl
# 打开 Excel 文件
workbook = openpyxl.load_workbook("data.xlsx")
print(workbook)
shell = workbook.active
# 行
row = shell.max_row
# 列
column = shell.max_column
for i in range(1, column + 1):
for j in range(1, column + 1):
cell_value = shell.cell(row=i, column=j).value
print(cell_value, end="\t")
print()
json格式的导出
py
import openpyxl
import json
# 打开 Excel 文件
workbook = openpyxl.load_workbook('data.xlsx')
sheet = workbook.active
# 获取第一行作为列名
columns = [sheet.cell(row=1, column=col).value for col in range(1, sheet.max_column + 1)]
# 创建一个空列表用于存储数据
data = []
# 读取 Excel 中的数据并添加到列表中
for row in range(2, sheet.max_row + 1):
row_data = {}
for col, column_name in enumerate(columns, start=1):
cell_value = sheet.cell(row=row, column=col).value
row_data[column_name] = cell_value
data.append(row_data)
# 将数据转换为 JSON 字符串,并关闭 ASCII 编码以显示中文
json_data = json.dumps(data, ensure_ascii=False, indent=4)
# 打印 JSON 字符串
print(json_data)
# 如果需要将 JSON 写入文件,可以使用下面的代码
# with open('output.json', 'w', encoding='utf-8') as file:
# file.write(json_data)
二、导出
py
import openpyxl
# 创建一个新的 Excel 工作簿
workbook = openpyxl.Workbook()
# 激活默认的工作表(sheet)
sheet = workbook.active
# 设置表头(假设这是要导出的数据)
headers = ['Name', 'Age', 'Email']
data = [
('Alice', 25, 'alice@example.com'),
('Bob', 30, 'bob@example.com'),
('Charlie', 28, 'charlie@example.com')
]
# 写入表头
for col, header in enumerate(headers, start=1):
sheet.cell(row=1, column=col).value = header
# 写入数据
for row, row_data in enumerate(data, start=2):
for col, value in enumerate(row_data, start=1):
sheet.cell(row=row, column=col).value = value
# 保存 Excel 文件
workbook.save('exported_data.xlsx')