关于 xlsx
面向开发者的 Excel 文件编程处理指南,涵盖读取、写入、格式设置和数据转换,并提供 Python 与 JavaScript 示例。内容涉及 openpyxl、pandas 和 xlsx。
主要功能
- 01读取和写入 Excel 工作簿
- 02用 openpyxl 设置单元格格式
- 03添加电子表格公式
- 04用 pandas 转换数据
- 05在 CSV 与 Excel 间转换
- 06合并多个工作簿
适用场景
- 01提取工作簿中的单元格值
- 02创建含公式的格式化工作表
- 03分析并重塑表格数据
- 04将 CSV 文件转换为 Excel
- 05合并多个工作簿的数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bobmatnyc/ claude-mpm-skills --skill xlsx安装后在 Claude Code 中输入/xlsx确认已加载。
附带文件metadata.json
详细介绍
Excel/XLSX 操作
以编程方式处理 Excel 文件。
Python(openpyxl)
读取 Excel
from openpyxl import load_workbook
wb = load_workbook('data.xlsx')
ws = wb.active # Get active sheet
# Read cell
value = ws['A1'].value
# Iterate rows
for row in ws.iter_rows(min_row=2, values_only=True):
print(row)
写入 Excel
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Data"
# Write data
ws['A1'] = 'Name'
ws['B1'] = 'Age'
ws.append(['John', 30])
ws.append(['Jane', 25])
wb.save('output.xlsx')
格式设置
from openpyxl.styles import Font, PatternFill
# Bold header
ws['A1'].font = Font(bold=True)
# Background color
ws['A1'].fill = PatternFill(start_color="FFFF00", fill_type="solid")
# Number format
ws['B2'].number_format = '0.00' # Two decimals
公式
# Add formula
ws['C2'] = '=A2+B2'
# Sum column
ws['D10'] = '=SUM(D2:D9)'
Python(pandas)
读取 Excel
import pandas as pd
# Read sheet
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# Read multiple sheets
dfs = pd.read_excel('data.xlsx', sheet_name=None)
写入 Excel
# Write DataFrame
df.to_excel('output.xlsx', index=False)
# Multiple sheets
with pd.ExcelWriter('output.xlsx') as writer:
df1.to_excel(writer, sheet_name='Sheet1')
df2.to_excel(writer, sheet_name='Sheet2')
数据转换
# Filter
filtered = df[df['Age'] > 25]
# Group by
grouped = df.groupby('Department')['Salary'].mean()
# Pivot
pivot = df.pivot_table(values='Sales', index='Region', columns='Product')
JavaScript(xlsx)
import XLSX from 'xlsx';
// Read file
const workbook = XLSX.readFile('data.xlsx');
const sheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[sheetName];
// Convert to JSON
const data = XLSX.utils.sheet_to_json(worksheet);
// Write file
const newWorksheet = XLSX.utils.json_to_sheet(data);
const newWorkbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(newWorkbook, newWorksheet, 'Data');
XLSX.writeFile(newWorkbook, 'output.xlsx');
常见操作
CSV 转 Excel
import pandas as pd
df = pd.read_csv('data.csv')
df.to_excel('data.xlsx', index=False)
Excel 转 CSV
df = pd.read_excel('data.xlsx')
df.to_csv('data.csv', index=False)
合并 Excel 文件
dfs = []
for file in ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']:
df = pd.read_excel(file)
dfs.append(df)
combined = pd.concat(dfs, ignore_index=True)
combined.to_excel('merged.xlsx', index=False)
请记住
- 使用后关闭工作簿
- 分块处理大型文件
- 写入前验证数据
- 使用 pandas 进行数据分析,使用 openpyxl 设置格式
评论
支持 Markdown