从Word成绩表到数据库:结构化处理与SQL分析实战
简介这份成绩登记表2.doc面向中小学教师、班主任及教务管理人员用于日常记录与管理班级学生的语文学习成绩解决手工登记易出错、统计口径不统一的问题。压缩包内共1个doc文档约153KB属于可直接编辑的表格模板打开后即可按学号、姓名、平时成绩、期中效果、期末效果、学期评分等字段逐项填写并自动汇总合计与平均分。文档结构虽简洁却完整呈现了成绩数据从采集到汇总的基本流程读者可借此理解字段设计、数据类型划分与数据关系并延伸思考数据规范化、隐私保护、成绩统计分析与教学质量评估等应用方向。目前已有100人学习下载适合需要快速搭建成绩登记框架、或希望以实例理解信息管理思路的师生参考使用。1. 从一张“成绩登记表(2).doc”说起它到底能解决什么如果你带过班、做过教务或者帮学校做过信息化的小工具大概率见过这种文件一个 Word 文档里面横七竖八排着“平时成绩、期中效果、期末效果、学期评分”学号和姓名挤在左边右边留一堆空格等着手填。这份“成绩登记表(2).doc”就是典型代表——它表面是一张表本质是一套还没被结构化的成绩数据模型。很多老师每学期重复复制它、改班级、填分数、算平均分最后归档到文件夹里第二年再翻出来时已经分不清哪个是最终版。它真正能解决的问题不是“记录”而是把散落在 Word 里的成绩信息变成可计算、可校验、可复用的数据。适合谁班主任、教务员、刚接手成绩统计的年轻老师以及想拿它练手数据库设计的学生。下面我按“先看懂结构再动手落地最后避开坑”的顺序拆一遍你照着做就能把这张表用起来。2. 拆解表格结构字段、类型与数据关系怎么定2.1 从 Word 表格到关系模型的映射这张表里出现的字段其实很固定学号、姓名、平时成绩原文写作“择要 分数”实际就是平时分、期中效果、期末效果、学期评分再加上“合计”和“平均分”。Word 里它们被排成一行一行的空白格但换成数据库视角这就是一张典型的学生成绩事实表。学号是主键候选姓名是描述属性几个成绩字段是度量值。问题在于Word 表格没有类型约束你填“缺考”也行填“90分”也行最后算平均分时 Excel 或 Word 公式直接报错。所以第一步不是急着录入而是先把每个字段的类型和取值范围定死。我一般会这样定学号用字符串因为有些学校学号带字母或前导零姓名用字符串平时、期中、期末、学期评分都用整数或小数范围 0 到 100合计和平均分不存原始值而是由其他字段计算得出。这样做的理由是避免“改了一个分数合计没跟着变”的经典翻车。下面这张表是我整理出来的字段定义你可以直接抄到自己的设计文档里。字段名建议类型是否可空说明student_idVARCHAR(20)否学号主键nameVARCHAR(50)否姓名regular_scoreDECIMAL(5,2)是平时成绩0-100midterm_scoreDECIMAL(5,2)是期中效果0-100final_scoreDECIMAL(5,2)是期末效果0-100term_scoreDECIMAL(5,2)是学期评分0-100total_scoreDECIMAL(6,2)是合计可由前三项加权得出average_scoreDECIMAL(5,2)是平均分可由合计除以科目数得出注意原文里“语文效果登记”这个说法有点绕它其实就是平时成绩的一种叫法。不同科目可能换名字但结构一样。如果你要管多个科目不要在一张表里横向加“数学平时、数学期中”那样字段会爆炸。常见做法是拆成两张表一张学生表一张成绩表成绩表里加一个 subject 字段。这样语文、数学、英语共用一套结构查询时按科目过滤就行。2.2 数据关系与规范化为什么要拆表原文摘要里提到“数据 normalization”和“数据关系”这不是学术空话。你想想如果每个学生的姓名、班级都写在同一张成绩表里一旦学生转班你得改所有记录如果某个学生改了名字你得翻遍整张表。更麻烦的是同一个学号在不同科目成绩里重复出现万一录入时打错一位数据就对不上了。规范化的思路很简单把“学生是谁”和“学生考了多少”分开。学生表存学号、姓名、班级成绩表存学号、科目、平时、期中、期末。两表通过学号关联。这样改名字只改一处加科目只加行不加列。我见过不少老师直接用 Excel 做其实 Excel 也能实现类似效果一个工作表放学生名单另一个工作表放成绩用 VLOOKUP 或 XLOOKUP 关联。但 Word 表格做不到所以如果你手里只有这份 .doc第一件事就是把它转成 Excel 或 CSV再导入数据库。转换时注意Word 里的合并单元格会打乱列对齐最好先复制到记事本用制表符分隔再粘贴进 Excel。这一步没有捷径但做一次以后每学期都能复用。2.3 用 Python 把 Word 表格读成结构化数据既然资源是一个 .doc 文件最实际的落地方式是用脚本把它读出来。Python 里处理 .doc 比 .docx 麻烦因为 .doc 是二进制格式python-docx 只支持 .docx。常见做法是先用 LibreOffice 或 Word 另存为 .docx再用 python-docx 读取。下面这段代码演示如何把表格内容抽成列表并做基本清洗。from docx import Document doc Document(成绩登记表(2).docx) table doc.tables[0] # 假设第一张表就是成绩表 rows [] for row in table.rows: cells [cell.text.strip() for cell in row.cells] # 跳过表头或空行 if not any(cells): continue rows.append(cells) # 打印前 5 行看看结构 for r in rows[:5]: print(r)这段代码的逻辑是加载文档取第一张表逐行读取每个单元格的文本去掉首尾空格跳过全空行。参数上doc.tables[0]里的索引取决于文档里表格的顺序如果前面还有别的表你得改成对应的下标。清洗时要注意Word 表格里经常有合并单元格python-docx 会把合并区域重复填充同一个值导致一行里出现多个相同内容。遇到这种情况我一般先打印原始行人工确认列对应关系再写映射规则。别指望脚本一次跑通先看数据长什么样再决定怎么切。2.4 成绩计算与校验合计和平均分别再手算把数据读出来之后合计和平均分应该由程序算而不是从 Word 里抄。因为 Word 里的数字可能是手填的容易和分项对不上。常见做法是合计 平时 × 权重 期中 × 权重 期末 × 权重权重按学校规定比如 20%、30%、50%。平均分 合计 / 科目数如果只算单科平均分就等于学期评分。下面这段代码展示如何加两列计算值并标记异常。def calc_scores(record, w_regular0.2, w_mid0.3, w_final0.5): regular float(record.get(regular_score) or 0) mid float(record.get(midterm_score) or 0) final float(record.get(final_score) or 0) total regular * w_regular mid * w_mid final * w_final average total # 单科场景 return round(total, 2), round(average, 2) # 假设 records 是上一步清洗后的字典列表 for rec in records: total, avg calc_scores(rec) rec[total_score] total rec[average_score] avg # 校验任何一项超过 100 或小于 0 都标记 for key in [regular_score, midterm_score, final_score]: val float(rec.get(key) or 0) if val 0 or val 100: print(f异常{rec[student_id]} 的 {key} {val})参数说明w_regular、w_mid、w_final是权重不同学校可能不同改这三个数就行。record.get(key) or 0是为了处理空值空值当 0 分算但实际业务里空值可能代表缺考需要单独标记。校验逻辑是成绩必须在 0 到 100 之间超出就打印学号和字段名方便你回头找原始表格核对。这一步做完你手里就有一份可计算、可排序、可导出的成绩数据了比在 Word 里手动拉公式靠谱得多。3. 落地实操从 .doc 到可查询成绩表的完整流程3.1 环境准备与文件转换动手之前先把工具链定下来。你需要一个能打开 .doc 的办公软件Word 或 LibreOfficePython 3.8 以上以及 python-docx、pandas 两个库。安装命令很简单pip install python-docx pandas openpyxlpython-docx负责读 Word 表格pandas负责后续清洗和导出openpyxl是 pandas 写 Excel 时的引擎。装完之后第一步是把“成绩登记表(2).doc”另存为 .docx。如果你用 Word直接“另存为”选 .docx 格式如果用 LibreOffice打开后导出为 Office Open XML 也行。注意不要改文件名里的括号和数字脚本里引用时保持一致省得路径报错。转换完成后用上一节的代码试读一下确认表格能被识别。如果打印出来是空列表说明文档里表格不是标准表格可能是用文本框或制表符排的那就得换方案全选复制到 Excel再另存为 CSV。3.2 用 pandas 做数据清洗与类型转换读出来的原始数据往往是字符串而且夹杂着“缺考”“免修”这类文字。直接转 float 会报错所以要先做清洗。我一般用 pandas 建 DataFrame然后逐列处理。下面这段代码演示如何把原始行转成带正确类型的 DataFrame并处理非数字值。import pandas as pd # 假设 rows 是上一步读出的二维列表第一行是表头 df pd.DataFrame(rows[1:], columnsrows[0]) # 重命名列去掉空格和特殊字符 df.columns [c.replace( , ).replace(\n, ) for c in df.columns] # 指定需要转数字的列 score_cols [平时成绩, 期中效果, 期末效果, 学期评分] for col in score_cols: # 把“缺考”等文字替换成 NaN再转 float df[col] pd.to_numeric(df[col], errorscoerce) # 查看缺失情况 print(df[score_cols].isna().sum())逻辑说明pd.to_numeric的errorscoerce参数会把无法转换的值变成 NaN而不是直接抛异常。这样你能先看到哪些格子有问题再决定是补录还是标记缺考。列名重命名是为了去掉 Word 里带进来的换行和空格否则后面按列名取值会对不上。缺失值统计打印出来后如果某列 NaN 特别多说明那一列在 Word 里可能是合并单元格或者根本没填需要人工回去补。这一步不要跳过血泪经验是直接转类型不报错不代表数据干净NaN 才是隐藏的坑。3.3 导出为 Excel 和 SQLite 两种格式清洗完的数据要落到一个能长期用的地方。我通常同时导出两份一份 Excel 给老师看一份 SQLite 给程序查。Excel 方便打印和手动调整SQLite 方便写 SQL 做统计。导出代码如下# 导出 Excel df.to_excel(成绩登记表_清洗后.xlsx, indexFalse) # 导出 SQLite import sqlite3 conn sqlite3.connect(scores.db) df.to_sql(score_table, conn, if_existsreplace, indexFalse) conn.close()参数说明indexFalse表示不把 pandas 的行号写进 Excel否则会多出一列无意义的索引。if_existsreplace表示每次运行都覆盖旧表适合每学期重新导入的场景如果你想保留历史改成append但要注意主键冲突。SQLite 文件就是一个单独的文件拷走就能用不需要装数据库服务适合个人和小规模教务使用。导出之后你可以用 DB Browser for SQLite 打开看看或者直接用 Python 的 sqlite3 模块查询。3.4 用 SQL 做成绩统计与排名数据进了 SQLite就能用 SQL 做平时在 Excel 里拉半天公式的事。比如算每个学生的总分、平均分、班级排名。下面这条 SQL 演示如何按学期评分降序排名并算出与平均分的差值。SELECT student_id, name, term_score, AVG(term_score) OVER () AS class_avg, term_score - AVG(term_score) OVER () AS diff_from_avg, RANK() OVER (ORDER BY term_score DESC) AS rank_in_class FROM score_table WHERE term_score IS NOT NULL ORDER BY rank_in_class;这条查询用到了窗口函数AVG(...) OVER ()算全班平均分RANK() OVER (ORDER BY ...)算排名。WHERE term_score IS NOT NULL过滤掉缺考学生避免他们拉低平均分。如果你用的 SQLite 版本较老不支持窗口函数可以拆成两条先算平均分再自连接排名。实际使用时把score_table换成你的表名term_score换成你要分析的列。跑出来的结果可以直接导出 CSV 发给年级组长比手动排序快得多。3.5 把结果回填到 Word 模板有些学校要求最终提交的还是 Word 格式的成绩登记表。这时候你可以用 python-docx 把计算好的数据写回一个模板文档。思路是打开模板定位表格按行填入。下面是一个简化示例。from docx import Document doc Document(成绩登记表_模板.docx) table doc.tables[0] # 假设 df 是清洗后的 DataFrame从第 2 行开始填第 1 行是表头 for i, row in df.iterrows(): cells table.rows[i 1].cells cells[0].text str(row[学号]) cells[1].text str(row[姓名]) cells[2].text str(row[平时成绩]) cells[3].text str(row[期中效果]) cells[4].text str(row[期末效果]) cells[5].text str(row[学期评分]) doc.save(成绩登记表_已填.docx)这段代码的关键是行号对齐table.rows[i 1]跳过表头行cells的下标对应列顺序。如果模板里有合并单元格下标会错位需要先打印len(table.rows[i].cells)确认每行实际单元格数。另外填入前最好把 NaN 转成空字符串否则 Word 里会出现“nan”。这一步做完你就能实现“数据在数据库里算结果自动回填 Word”的闭环每学期只需更新原始数据不用重新排版。4. 避坑与排查成绩表处理中最容易翻车的五个点4.1 现象脚本读出来全是空行 → 原因.doc 未转 .docx → 解决先另存为 .docxpython-docx 不支持 .doc 二进制格式直接读会报错或返回空。很多人以为代码写错了其实是文件格式没转。解决方式很简单用 Word 或 LibreOffice 打开原文件另存为 .docx再跑脚本。如果另存后仍然读不到表格检查文档里是不是用了文本框或图片代替表格那种情况只能手动复制到 Excel。4.2 现象合计和分项对不上 → 原因Word 里手填的合计没随分项更新 → 解决合计一律由程序重算Word 表格里的“合计”如果是手动输入的改了一个分项后它不会自动变。我见过最离谱的是平时分改了合计还是旧值最后排名全乱。正确做法是导入时忽略 Word 里的合计列自己用权重公式算。算完再和原值对比差异超过 0.5 分的标记出来人工核对。这样既保证一致性又能发现录入错误。4.3 现象学号前导零丢失 → 原因Excel 或 pandas 把学号当数字 → 解决强制按字符串读取学号“00123”在 Excel 里会变成 123导入数据库后和别的表关联不上。解决方式是在 pandas 里指定dtype{学号: str}或者在 Excel 里先把学号列设成文本格式再复制。如果已经丢了零可以用zfill补回来但前提是你知道学号总长度。常见做法是学号统一 8 位或 10 位不足补零。这个坑每学期都有人踩提前设好类型就能避免。4.4 现象缺考被当成 0 分算进平均分 → 原因空值填充策略太粗暴 → 解决区分“缺考”和“0 分”pd.to_numeric(errorscoerce)会把“缺考”变成 NaN但如果你后面用fillna(0)缺考就变成 0 分拉低平均分。正确做法是缺考单独标记算平均分时排除或者按学校规定不计入。我一般加一列is_absent缺考为 True统计时用WHERE is_absent 0过滤。别小看这一条教学质量评估时缺考处理方式直接影响班级排名。4.5 现象回填 Word 后格式错乱 → 原因单元格合并或行数不匹配 → 解决先检查模板行数和单元格数用 python-docx 回填时如果模板表格的行数少于数据行数多出来的数据会丢如果单元格有合并cells下标会错位。解决方式回填前先打印len(table.rows)和每行的len(row.cells)确认结构。数据行数超过模板行数时可以用table.add_row()动态加行。另外填入文本后 Word 可能自动调整列宽导致排版变化建议回填后手动检查一遍或者用固定列宽的模板。5. 进阶技巧用 SQL 窗口函数做教学质量分析成绩表不只是用来登记分数的它还能回答“这个班期中到期末进步了多少”“平时分和期末分相关性如何”这类问题。我常用 SQLite 的窗口函数做趋势分析不需要额外装统计软件。下面这条查询算每个学生的期末相对期中的变化并按变化幅度排名。SELECT student_id, name, midterm_score, final_score, final_score - midterm_score AS improvement, AVG(final_score - midterm_score) OVER () AS avg_improvement, RANK() OVER (ORDER BY (final_score - midterm_score) DESC) AS progress_rank FROM score_table WHERE midterm_score IS NOT NULL AND final_score IS NOT NULL ORDER BY progress_rank;这条查询里improvement是期末减期中正数表示进步负数表示退步。AVG(...) OVER ()算全班平均进步幅度用来判断某个学生的进步是否高于平均水平。RANK()按进步幅度降序排名方便你快速找出进步最大的学生。参数上如果学校更看重学期评分把final_score - midterm_score换成term_score - midterm_score就行。跑完这条查询你可以把结果导出成 CSV再做成简单的柱状图家长会上用很有说服力。另一个实用技巧是算分数段分布。下面这条 SQL 把学期评分分成四档统计每档人数。SELECT CASE WHEN term_score 90 THEN 优秀 WHEN term_score 80 THEN 良好 WHEN term_score 60 THEN 及格 ELSE 不及格 END AS grade_level, COUNT(*) AS student_count, ROUND(AVG(term_score), 2) AS avg_score FROM score_table WHERE term_score IS NOT NULL GROUP BY grade_level ORDER BY avg_score DESC;CASE WHEN用来分档COUNT(*)数人数AVG算每档平均分。分档标准可以按学校要求改比如 85 分以上算优秀。这条查询的结果能直接看出班级成绩分布是否合理如果不及格档人数异常多就要回头检查是不是期末试卷太难或者平时分给太低。我一般每学期跑一次和上一学期对比看趋势有没有变化。最后说一个验证数据完整性的习惯每次导入后用SELECT COUNT(*)和SELECT COUNT(DISTINCT student_id)对比如果两个数不一样说明有重复学号。再用SELECT * FROM score_table WHERE student_id IS NULL OR name IS NULL找缺失关键字段的记录。这几条检查花不了两分钟但能避免后面统计时出现“幽灵学生”。从那以后我每次处理成绩表都强制走一遍“转格式、定类型、算合计、查重复、回填模板”这五步再也没出现过期末归档时对不上数的情况。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

SpringBoot+微信小程序+uni-app农产品交易平台全栈项目实战解析

SpringBoot+微信小程序+uni-app农产品交易平台全栈项目实战解析

做这个基于SpringBoot的微信小程序农产品交易平台,前后花了大概两个月时间。整套项目包含SpringBoot后端、基于Vue语法的uni-app小程序端、Vue3管理后台,源码、文档、SQL脚本、调试说明都整理齐了,本地跑通也就一天的事。这篇文章我就拿这套项…

2026/10/13 19:35:12 阅读更多 →
CEEMD算法详解:MATLAB实现与参数调优,解决模态混叠和噪声残留

CEEMD算法详解:MATLAB实现与参数调优,解决模态混叠和噪声残留

简介:这套CEEMD(完全集合经验模态分解)的MATLAB实现代码带有逐段中文注释,主要面向需要分析非线性、非平稳信号的科研人员、算法工程师及高年级本科生,也适合希望弄清EMD与CEEMD区别、并将分解算法用于实际数据的读者。…

2026/10/13 19:35:12 阅读更多 →
坐标转换全解析:从原理到实战,避开500米偏移的坑

坐标转换全解析:从原理到实战,避开500米偏移的坑

1. 坐标转换到底在转什么坐标转换这四个字,听起来像是测绘院或者地图公司才关心的东西,但实际上只要你碰过地图开发、做过数据可视化、处理过GPS轨迹、甚至只是想把手机拍的照片定位到地图上,就一定会跟它打交道。我最早接触坐标转换是在一个…

2026/10/13 19:35:12 阅读更多 →

最新新闻

从零构建Agent技能库:技能层设计、动态装载与回归测试的工程实践

从零构建Agent技能库:技能层设计、动态装载与回归测试的工程实践

直接做Agent应用的人,这两年应该都有同感:单个Agent的对话能力已经不是瓶颈了,真正拉开差距的是Agent能不能稳定地调用外部能力、按流程完成任务。我最近在整理和重构一个内部项目,名字就叫“agent-skills”,本质上是一…

2026/10/13 20:34:36 阅读更多 →
基于MATLAB的脑电功率谱与多尺度熵分析工具箱实战解析

基于MATLAB的脑电功率谱与多尺度熵分析工具箱实战解析

简介:面向脑电信号分析的多尺度熵计算MATLAB代码包,主要服务神经科学、生物医学工程等领域的科研人员与工程师,可用于处理多通道EEG数据,完成从二进制文件读取、预处理、多尺度熵计算到频谱分析、批量统计的完整流程。代码由杨博士…

2026/10/13 20:34:36 阅读更多 →
用litellm搭建统一模型网关,解决多模型接入难题

用litellm搭建统一模型网关,解决多模型接入难题

1. 做了个模型网关,解决了我最头疼的多模型接入问题先交代一下背景。上个月要给一个内部工具接大模型能力,一开始需求很简单:调一个对话接口,把结果返回给前端就行。结果做着做着就失控了。产品那边今天说换某家的新模型试试&…

2026/10/13 20:34:36 阅读更多 →
吃透OpenCV类型宏CV_8UC3:位深通道与内存布局

吃透OpenCV类型宏CV_8UC3:位深通道与内存布局

写这篇文章的起因,是最近又看到不少人在图像处理群里问“为什么Mat创建老报错”“为什么读进来的图片和我心里想的不一样”,最后发现根子都出在同一个地方:没搞懂OpenCV的类型宏,比如CV_8UC3到底代表什么。这玩意儿看着像一串乱码…

2026/10/13 20:34:36 阅读更多 →
YOLOV4后处理解析:从NMS到DIOU-NMS的原理与Python实现

YOLOV4后处理解析:从NMS到DIOU-NMS的原理与Python实现

YOLOV4学习系列写到第三篇,前面咱们拆过CSPDarknet53骨干结构,聊过SPP和PANet的Neck设计,今天终于轮到推理阶段的最后一道工序——非极大值抑制。NMS这个词很多同学早就不陌生了,检测模型调试、比赛刷分、论文复现都绕不开它。但你…

2026/10/13 20:34:36 阅读更多 →
Zbrush次世代角色头部雕刻全流程:从结构认知到皮肤纹理

Zbrush次世代角色头部雕刻全流程:从结构认知到皮肤纹理

做次世代游戏角色,头部雕刻永远是绕不开的坎。常有人说,身体可以靠布料和铠甲遮,脸却始终暴露在玩家眼前,Zbrush头部细节雕刻直接决定了角色能站上哪个档次。这些年我经手过不少项目,也从大量废案里踩出一些实用的新技…

2026/10/13 20:33:28 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →