页面创建的初衷是用来记录自己写的一些简单的脚本,但是由于自己比较菜的 coding 能力也并没有坚持上传。
因为自己主要是往数据科学方向努力,这个页面就放一些与这个方向有些关系的内容吧。
matplotlib、seaborn 可视化案例代码
两个爬虫项目:

数据分析:

批量移动文件或者文件夹

这个脚本的主要实现的是一个文件夹中文件的移动和重命名操作,主要借助 Python 的 os 库以及 shutil 库,在平时博客的配置或者资源的迁移中比较经常用到。

import os
from shutil import copy
root_path = ''
target_path = ''
if not(os.path.exists(target_path)):
os.mkdir(target_path)
# 如果移动的文件夹里有嵌套的文件夹需要使用os.walk()
# 注意该函数的返回参数:当前文件夹名称,子文件夹名称,文件名称
paths=os.listdir(root_path)
i=1
for path in paths:
# 可根据path.split('.')[-1]获取文件后缀名分开进行操作
file_path = os.path.join(root_path, path)
file_copy_path = os.path.join(target_path, str(i)+'.'+path.split('.')[-1])
#不建议直接在源文件上进行更改,防止意外状况出现
copy(file_path, file_copy_path)
i=i+1

文件内容正则替换

import pandas as pd
import re
import os
data = pd.read_excel('目录.xlsx')
for row in data.itertuples():
title=row.title
date=row.date
update=row.updated
#先读后写的操作实现
if os.path.exists(f'{title}.md'):
with open(f'{title}.md', 'r', encoding='utf-8') as f:
text = f.read()
with open(f'{title}.md', 'w', encoding='utf-8') as f:
p1 = r"updated:[ ']*(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})[' ]*"
text = re.sub(p1, 'updated: ' +
update.strftime('%Y-%m-%d %H:%M:%S'), text)
print(text)
p = r"date:[ ']*(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})[' ]*"
f.write(re.sub(p, 'date: '+date.strftime('%Y-%m-%d %H:%M:%S'), text))

语雀 api 调用

语雀是一个很好用的知识库管理平台,博主在搭建博客前曾使用该平台完成过 50 多篇文章的撰写,语雀也在随着不断迭代更新正在变得越来越好,前阵子帮 npy 向 notion 迁移图片时无意间发现语雀更新了 api 接口功能,这里贴一个当时查阅文档学到的一个上传文章的方法。

PS: 如果使用 Vs code 作为文本编辑器的话建议直接下载大佬开发的插件,VScode yyds!

# 语雀文档的api调用
# 参考https://www.yuque.com/yuque/developer/api
import requests
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"
, "X-Auth-Token": "ufab9y92tO6xZkufARBj4WS9dM7GfaaVNoyTYQYW"
}
d={
"title": "一个测试而已",
"body": "# 一个测试而已",
}
# 发布文章
r = requests.get(
'https://www.yuque.com/api/v2/repos/u54723808/bm0cog/docs',data=d, headers=headers)#'/u54723808/bm0cog'是仓库地址