表格的第1列作为md文件的文件名。
其它列作为md文件的yaml。
请问有没有这样的插件或者脚本?
表格的第1列作为md文件的文件名。
其它列作为md文件的yaml。
请问有没有这样的插件或者脚本?
最近正在学习python,尝试用AI写了个python脚本,试了下可以满足你的需求:
import os
import pandas as pd
def create_markdown_files(excel_file_name, output_dir):
# 构造Excel文件路径
excel_path = os.path.join(output_dir, excel_file_name)
# 检查Excel文件是否存在
if not os.path.exists(excel_path):
print(f"未找到Excel文件: {excel_path}")
return
# 读取Excel文件
try:
df = pd.read_excel(excel_path)
except Exception as e:
print(f"读取Excel文件时出错: {e}")
return
# 遍历每一行数据
for index, row in df.iterrows():
# 获取标题,用作文件名
title = row['标题']
if pd.isna(title):
print(f"第 {index + 1} 行标题为空,跳过")
continue
# 构造文件名
file_name = f"{title}.md"
file_path = os.path.join(output_dir, file_name)
# 构造YAML区域内容
yaml_content = []
for col in df.columns:
if col != '标题': # 跳过标题列
value = row[col]
if pd.notna(value): # 跳过空值
yaml_content.append(f"{col}: {value}")
yaml_content = "\n".join(yaml_content)
# 构造完整的Markdown内容
markdown_content = f'''---
{yaml_content}
---
'''
# 写入文件
try:
with open(file_path, 'w', encoding='utf-8') as f:
f.write(markdown_content)
print(f"文件 {file_name} 已生成")
except Exception as e:
print(f"生成文件 {file_name} 时出错: {e}")
# 主函数
if __name__ == "__main__":
# 获取脚本所在目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 指定Excel文件名和导出目录
excel_file_name = "test.xlsx"
output_dir = script_dir
# 调用函数生成Markdown文件
create_markdown_files(excel_file_name, output_dir)
1,复制代码创建py文件(安装python什么就不说了,网上教程很多,不过如果没接触过编程的话可能会有点繁琐)
2,将py文件和excel文件放在同一目录下
3,修改py文件最下面 excel_file_name = "test.xlsx"
为你的xlsx文件名
4,打开终端 运行: python 你的py文件完整路径
5,在同一目录生成md文件后,自行手动移动到obsidian的目录内
哈哈,真详细,操作成功,感谢!
不过,提醒一下后来的小白,要先下载 pandas、openpyxl 这两个库。