当前位置: 首页 > article >正文

Python 如何实现 Markdown 记账记录转 Excel 存储

文章精选推荐

1 JetBrains Ai assistant 编程工具让你的工作效率翻倍
2 Extra Icons:JetBrains IDE的图标增强神器
3 IDEA插件推荐-SequenceDiagram,自动生成时序图
4 BashSupport Pro 这个ides插件主要是用来干嘛的 ?
5 IDEA必装的插件:Spring Boot Helper的使用与功能特点
6 Ai assistant ,又是一个写代码神器
7 Cursor 设备ID修改器,你的Cursor又可以继续试用了

文章正文

要将 Markdown 格式的记账记录转换为 Excel 文件并存储,你可以使用 Python 的 pandas 库来处理数据,并使用 openpyxlxlsxwriter 来生成 Excel 文件。以下是一个简单的实现步骤:

1. 安装所需的库

首先,确保你已经安装了 pandasopenpyxl 库。如果没有安装,可以使用以下命令进行安装:

pip install pandas openpyxl

2. 准备 Markdown 文件

假设你有一个 Markdown 文件 transactions.md,内容如下:

# 记账记录

## 2023-10-01
- 早餐: 20元
- 午餐: 30元
- 晚餐: 50元

## 2023-10-02
- 早餐: 15元
- 午餐: 25元
- 晚餐: 40元

3. 编写 Python 脚本

接下来,编写一个 Python 脚本来读取 Markdown 文件,解析记账记录,并将其保存为 Excel 文件。

import pandas as pd
import re

# 读取 Markdown 文件
with open('transactions.md', 'r', encoding='utf-8') as file:
    lines = file.readlines()

# 初始化数据存储
data = []
current_date = None

# 解析 Markdown 文件
for line in lines:
    # 匹配日期
    date_match = re.match(r'## (\d{4}-\d{2}-\d{2})', line)
    if date_match:
        current_date = date_match.group(1)
    # 匹配记账记录
    record_match = re.match(r'- (.*): (\d+)元', line)
    if record_match and current_date:
        item = record_match.group(1)
        amount = int(record_match.group(2))
        data.append([current_date, item, amount])

# 创建 DataFrame
df = pd.DataFrame(data, columns=['日期', '项目', '金额'])

# 保存为 Excel 文件
df.to_excel('transactions.xlsx', index=False)

print("记账记录已成功保存为 transactions.xlsx")

4. 运行脚本

运行上述脚本后,它会读取 transactions.md 文件,解析其中的记账记录,并将其保存为 transactions.xlsx 文件。

5. 结果

生成的 Excel 文件 transactions.xlsx 将包含以下内容:

日期项目金额
2023-10-01早餐20
2023-10-01午餐30
2023-10-01晚餐50
2023-10-02早餐15
2023-10-02午餐25
2023-10-02晚餐40

6. 进一步优化

你可以根据需要进一步优化脚本,例如处理更复杂的 Markdown 格式、添加错误处理、支持更多的记账字段等。

总结

通过使用 pandasopenpyxl,你可以轻松地将 Markdown 格式的记账记录转换为 Excel 文件,并进行进一步的分析和处理。


http://www.kler.cn/a/569267.html

相关文章:

  • 20250227解决飞凌OK3588-C的linux R4通过adb拷贝文件速度过慢的问题
  • 鸿蒙5.0实战案例:基于原生能力获取视频缩略图
  • 《解锁万相2.1大模型:开启视频创作新世界》:此文为AI自动生成
  • Redis 学习总结(2) Java 操作 Redis 的示例
  • 华为开源自研AI框架昇思MindSpore应用案例:基于MindSpore框架实现one-stage目标检测模型SSD
  • Rust语言基础知识详解【四】
  • 【Golang学习之旅】Go-zero + GORM:微服务架构中的 ORM 与数据库操作
  • Dify使用和入门
  • FPGA开发,使用Deepseek V3还是R1(7):以“FPGA的整体设计框架”为例
  • LLMR//https://github.com/microsoft/llmr?locale=zh-cn
  • vue3:四嵌套路由的实现
  • ARM Linux LCD上实时预览摄像头画面
  • Android Activity栈关系解析
  • 【弹性计算】弹性裸金属服务器和神龙虚拟化(二):适用场景
  • 深度学习pytorch之4种归一化方法(Normalization)原理公式解析和参数使用
  • Aria Gen 2来了!AI感知、机器人、可穿戴计算的新突破
  • 基于51单片机超声波测量报警LCD1602显示( proteus仿真+程序+设计报告+讲解视频)
  • C++STL---<limits>
  • 【Redis学习】Redis Docker安装,自定义config文件(包括RDB\AOF setup)以及与Spring Boot项目集成
  • Github 仓库 git clone 速度过慢解决方案