PowerBI数据清洗实操:用PowerQuery告别脏数据,提升模型稳定性
在PowerBI项目里PowerQuery的数据清洗操作是我最看重的一步也是最容易被新人跳过去的一步。很多同学把原始数据拖进模型就开始建表关系、写度量值结果报表做到一半被脏数据反复绊倒日期明明是文本、金额带符号、同一家门店在数据源里有三种叫法。这篇文章我想把PowerQuery数据清洗的核心思路、高频操作和踩坑经验完整捋一遍既适合刚接触PowerBI的新手照着操作也适合有一定基础、想系统整理清洗流程的开发者参考。内容全部围绕实际项目中真实会遇到的数据问题展开不绕弯子尽量让你看完就能在自己的工作台上复现。1. 为什么数据清洗要前置到PowerQuery而不是留在报表层1.1 清洗前置模型稳定性的第一道关卡做PowerBI项目很多人第一个动作就是急着急着导数据、建模型、拖图表。我自己的习惯刚好相反拿到数据源之后的第一判断是这份数据如果不经过处理直接进模型后面会埋多少雷。举一个最常见的场景。销售明细表里有一列订单日期Excel里看着是日期格式但导入PowerQuery后实际类型却是文本里面还混着2024/1/5、20240105、2024-01-05三种写法。如果不管它直接进模型之后写时间智能函数、做同比环比几乎每一步都会被这个字段卡一下。你在度量值里写再多的转换逻辑也还是在症状上绕圈子根子里的格式问题始终存在。把清洗放到PowerQuery解决的就是这一类源头问题。日期统一格式、金额去除货币符号、身份证号文本化处理、空值标记、重复行去除、表头修正、单位换算——这些事在数据进入模型之前全部处理完毕模型里的字段类型和格式就稳定下来。建关系、写度量值、做可视化后面每一步的效率都会大幅提升。PowerQuery的逻辑是把清洗操作记录成查询步骤每次数据刷新时按同样的规则自动执行。这和手工在Excel里临时改数据有本质区别数据源头更新之后Excel里还要再手动处理一遍PowerQuery则是无感刷新、自动执行。用一句话概括在PowerQuery里花半小时建立的清洗流程省下的是每个月、每一次刷新的手工劳动。1.2 PowerQuery处理数据和Excel手工操作的差别用生活化的类比来说Excel操作像是自己下厨每道菜每次做都要重新洗菜、切菜、调味。PowerQuery更像是建一条中央厨房流水线食材从进入线体开始就按设定程序自动处理程序一旦调好以后每次进货都走同样流程。PowerQuery界面上做的每一个操作本质上都是在生成规则而不是修改单元格。你点替换值它记录的是把某一列中的某种值替换成另一种值这条规则你做的删除重复项记录的是在某一列的维度上去重这个动作。规则一旦建立下次数据源多了几百行新数据刷新时这些规则照样作用于新数据。另一方面PowerQuery支持撤销和中间步骤查看。右侧查询设置里的每一个步骤都可以单独选中回看删除某一步、向中间插入一步、修改任意一步的参数后面的步骤都会基于新结果自动重新计算。这种可追溯、可调整的机制让数据清洗从一次性手工活变成了可维护的工程。Excel里一旦保存修改历史很难追溯PowerQuery里每一步都有案底排查问题时这几乎是救命级别的功能。不过也要提醒一句PowerQuery不等于Excel不是所有Excel函数都能在这里直接用。它有自己的M语言体系和界面动作集合一开始会有些不适应但核心清洗场景缺失值、重复值、格式、合并、拆分覆盖得非常全面足够应付绝大多数实际项目。2. 第一次打开PowerQuery编辑器先理清这几样东西2.1 界面布局与三个容易被忽略的细节在PowerBI Desktop里从主页选项卡点转换数据就会打开PowerQuery编辑器。第一次进入的人往往盯着中间的预览数据看这个习惯对但不够完整。编辑器左边是查询列表显示当前工作簿里所有数据查询中间是数据预览区每一列顶部有列类型图标比如123代表整数、ABC代表文本、日历代表日期右侧查询设置面板记录了所有操作步骤。这三个区域建议都熟悉到一眼定位的程度因为排查问题时需要在三者之间来回切换。有几个细节新手容易忽略第一列类型图标不是摆设。把鼠标放到类型图标上会显示当前类型点击图标可以直接更改类型。如果某列看着是数字却显示文本图标多半有隐藏的异常值。这时候点一下类型图标触发转换PowerQuery会弹出提示是否更改类型——特别注意改了类型后如果某些行无法转换会出现错误值需要在后续步骤里继续处理而不是放任不管。第二预览区不是全量数据。数据量大的时候PowerQuery默认只显示前面一部分行。做清洗时如果发现筛选条件总是匹配不上预期结果先确认一下预览是不是被截断了别在错误前提下折腾半天。第三查询设置里的每一步都可以点击。点击某一步中间的预览区立刻显示这一步处理后的结果。这个功能是理解清洗逻辑最好的工具。实际排查时我经常一步一步往回点找出数据从一开始是哪一步开始不对劲的。2.2 右键列头菜单清洗操作的主战场PowerQuery里大部分清洗动作不需要去顶部选项卡翻找直接在列头上点右键菜单几乎覆盖了所有高频操作删除列、删除其他列处理不需要的字段最简单的方式拆分列、合并列按分隔符、按字符数拆分或把多列合并成文本替换值、替换错误统一特定取值、把错误值统一替换为空或其他标识更改类型文本、整数、小数、日期、时间、逻辑值等筛选行、删除重复项按条件过滤文本和数值逆透视列把宽表转长表的关键操作添加条件列、索引列、自定义列生成派生字段建议新手把右键菜单完整过一遍再对照顶部选项卡的功能按钮心里基本对清洗的能力范围有底。很多看起来很难的需求其实就是几个右键动作的组合。2.3 查询步骤与M语言的对应关系PowerQuery步骤列表的本质是M语言脚本的步骤化呈现。举一个例子对金额列做文本替换去掉货币符号¥同时在订单日期列更改类型为日期。查询设置里会出现两步对应的M语言大致是let 源 ..., 替换的货币符号 Table.ReplaceValue(源, ¥, , Replacer.ReplaceText, {金额}), 更改的类型 Table.TransformColumnTypes(替换的货币符号, {{订单日期, type date}}) in 更改的类型清洗操作点得多了你会发现界面操作的每一步都对应一个明确的M函数。不需要从零开始学M语言语法但理解这个对应关系对两个场景很有用一是界面无法完成的高级清洗可以直接在公式栏里修改M代码二是排查刷新报错报错信息会指向具体步骤和具体函数看得懂就能快速定位。我自己建议前三个项目先专注界面操作尽量记住每一步操作在查询设置里自动生成的步骤名和对应M函数。积累一段时间之后再尝试手动修改M代码。比如用Table.AddColumn写自定义列、用List.Sum做行内合计。到这个阶段你对清洗的理解会上一个台阶。3. 从脏数据到标准表高频清洗操作的实用组合3.1 拿到新数据后的第一个动作只看不洗面对一份全新的原始数据我的固定流程是先在PowerQuery里打开它先不点任何清洗按钮把每一列从头到尾翻一遍。这一遍看的不是数据质量而是数据结构。哪些列是维度的地区、商品、客户哪些列是度量的销售额、数量、单价哪些列是主键订单号、ID哪些列根本用不上。心里有了这张结构图清洗顺序才能定下来。接着再看数据类型图标。文本、数字、日期图标是否与实际内容匹配这一步基本就能找出七八成的问题。如果一列销售金额显示的是文本图标优先级就很高先处理它。还有一类问题要靠筛选来发现点列头右侧的下拉箭头查看文本筛选器或数字筛选器实际上就是查看这个列里都有哪些不同取值。在数据量大的表里这个操作等于快速扫一遍该列的值分布。有没有NULL、空字符串、(空白)、0之类异常取值几乎一眼就能看出来。3.2 文本清洗的常见套路文本清洗在PowerQuery里动作最多也最琐碎。最常用的几个去除空格列头右键选择格式-修整可以去掉文本前后空格。注意这只是去掉首尾空格如果文本内部还有多余空格需要用替换值把连续空格替换为单个空格。统一大小写对英语文本按需选择大写、小写、将每个单词的首字母大写。这个场景在处理英文商品名、海外地区名时特别常用。替换值这是最常用的标准化手段。比如把地址中的/替换为-把单位元/个去掉统一为纯数字。替换值支持按列范围替换也支持替换所有满足条件的值。拆分列按分隔符拆分是经典操作比如把地址列按-拆分成省、市、区三列。拆分时可以设置按每个分隔符拆分或者只在第一个分隔符处拆分非常灵活。合并列多列合并成文本比如把年、月两列合并成2024年5月再把类型改成日期。合并列操作成本低、效果好是处理复合日期和编码字段的好工具。提取和添加右键列的提取功能可以按长度或分隔符截取子串比如从身份证号里提取出生年月。需要根据条件生成新列时用条件列比写自定义M代码更直观——比如把销量大于100的标记为A、50到100标记为B点几下鼠标就完成。3.3 日期与数值类型的标准化处理日期清洗是最容易被低估的一步日期列的潜在风险往往不在数据本身而在类型没有被正确识别。PowerQuery导入日期列时如果某些行是文本格式如20240105整个列类型通常会被识别为文本。这时右键更改类型-日期PowerQuery会自动尝试转换大部分日期格式。但转换完成后立刻用左下角的错误提示检查有没有转换失败的行这些行会显示为Error。数值列方面常见的问题是数字里混入了千位分隔符、货币符号、单位或者实际上是文本格式。批量处理的方式是先在列上替换掉¥、$、逗号、空格这些符号再统一改成小数类型。如果金额列有负数需要注意PowerQuery在处理括号形式的负数(123)表示-123时可能转换失败需要先把括号替换成负号再做转换。关于日期清洗我还有一个经验如果是做月度分析原始日期列经常还带时间部分。如果时间部分没有分析意义可以在更改日期类型前把空字符串时间后缀替换为空或者直接把类型设为日期让PowerQuery自动忽略时间。如果之后确实需要按小时、分钟做分析就要保留一个时间列备用。3.4 缺失值、错误值与重复行的处理策略缺失值的处理没有统一标准取决于业务场景。总原则是在PowerQuery里完成缺失值的识别和标记而不是留给报表层临时头疼。识别缺失值最简单的方法是点列头下拉箭头看筛选器底部的空白项这一步能快速得知该列的空值数量。空值的处理通常有三种路径删除整行、留空并在报表层用条件判断处理、按规则填充比如用上一行填充、用平均值填充、用0填充。填充功能在右键菜单的填充选项下面有向下填充和向上填充两种方向适合处理分组数据中的汇总行占位、Excel合并单元格导致的空行等场景。错误值的处理场景最常见的是除零错误、类型转换错误。如果某列数据中存在除以某些字段导致的错误可以在替换错误里把错误统一替换为0、空值或提示文本。我一般在替换错误之后还会用条件列加一个标志字段标记哪些行曾经出错方便后续核查数据来源。重复行处理上PowerQuery里删除重复项按所选列判断重复。这里强烈建议优先选择主键列去重而不是整行去重。比如销售明细可能因为多行同一订单号而重复用订单号列删除重复项才符合业务逻辑。如果表没有主键靠整行完全一致去重往往效果有限这时需要先确认业务上应该以哪几个字段作为唯一标识。3.5 表结构重排宽表转长表与逆透视操作清洗不只是改值很多时候还需要改表结构。最典型的就是宽表转长表。比如原始数据是各门店每月的销售表行是门店列是1月到12月。做月度趋势分析时需要把12个月份从列变成行这就是逆透视。操作很简单选中门店名称列右键逆透视其他列就能把宽表变成长表。逆透视之后原来的月份列名会变成属性列数值会变成值列两个字段类型需要再调整。逆透视操作在清洗里的价值常常被低估。很多业务系统导出的报表是透视好的宽表直接识别成可分析的明细表很难但经过一次逆透视结构立刻变成标准的长表后续做时间序列、按维度对比都方便。反过来如果分析需求需要宽表结构也可以使用透视列只是用到的场景相对少一些。4. 实战某连锁零售企业销售明细表的PowerQuery清洗全流程4.1 原始数据状况假设数据源是一个从业务系统导出的Excel工作簿里面是一张门店销售明细表共3000多行包含以下字段原始字段实际含义原始数据示例订单号订单唯一编号ORD-202401-001销售日期下单日期2024/1/5、20240105、2024-01-05 混存门店门店名称门店甲、门店甲/一分店 两种写法商品编码商品编号D105、D-105、D 105 三种写法商品名称商品名称圆珠笔黑色、圆珠笔(黑色)括号半角全角混用数量销售数量3、-1退货单单价商品单价¥12.5、12.5 混存金额销售金额37.5销售人员编号销售工号A01、A01多空格、A-01 三种写法这张表的问题很典型字段类型错乱、文本含多余空格、同一实体存在多种写法、日期格式不统一、全角半角字符混用。下面按完整清洗流程走一遍。4.2 清洗步骤逐项拆解第一步删除明显用不到的列。比如备注列里全是暂无、NULL留着只会干扰模型结构直接右键删除。第二步统一日期格式。选中销售日期列先替换值把/替换为-再把20240105这类无分隔符写法通过后续类型转换处理。然后更改列类型为日期。第三步处理门店名称。先在门店列上把/替换为-统一为门店甲-一分店这种规范形态再用修整去掉首尾空格。如果门店框架固定还可以维护一张区域维度表把门店名称映射为统一编码。第四步商品编码规范化。商品编码里D105、D-105、D 105三种写法本质是同一个商品。在商品编码列上做两次替换值把-替换为把 替换为。清洗后统一成D105后续和商品维度表关联时才不会断链。第五步单价列去货币符号。先替换值把¥替换为再更改类型为小数。金额列和数量列的负数保留原样之后在模型里用条件度量值区分正常销售和退货。第六步处理销售人员编号。A01、A 01、A-01这类带空格或连字符的写法替换掉即可。如果存在同一员工多个工号混用的情况需要结合业务方维护一个工号映射表来做规范化这一步在PowerQuery里用合并查询实现。第七步删除重复订单。在订单号列上执行删除重复项。注意前面已经把订单号格式统一了此时去重才能保证不误删。第八步添加条件列。新增订单类型列数量大于等于0为正常单小于0为退货单。为后续模型里区分退货率做好准备。第九步核对所有列的数据类型并检查错误。全选列后逐个核对类型尤其检查销售日期列是否有转换失败的Error值。有的话点击列头旁边的错误提示进入处理界面选择替换错误或追溯源数据。4.3 清洗顺序背后的逻辑这套清洗顺序不是随手排列的里面有几个先后逻辑值得单独讲。先删列再洗列视野更干净。删除无关列之后剩下的字段每一列都有明确用途做替换值、去空格时不用担心误伤其他列。先统一格式再改类型减少转换失败。日期和数字的清洗顺序必须是先替换字符后更改类型。如果先把列改成日期类型再回头去替换分隔符PowerQuery可能在类型转换时就已经产生错误值之后的替换步骤还会让错误值卡在原地。先处理字符再转换类型错误率会低很多。先标准化再去重。去重的逻辑必须建立在标准化的基础上。订单号里有ORD-202401-001和ORD 202401 001两种写法时直接去重会把同一个订单算成两条数据后面做订单数统计就全错了。所以先规范化再去重才是可靠顺序。派生列的添加别太早也别太晚。我习惯把这类派生字段尽量放在查询清洗流程的后半段因为早期步骤还在改字段类型和格式而条件列依赖的字段如果被后续步骤改了值条件判断就可能失效。放在数据格式基本稳定的阶段最稳妥。5. 踩过的坑PowerQuery清洗中那些隐蔽的翻车现场5.1 类型转换时的Error到底怎么处理PowerQuery更改类型时如果某些行的值无法转换预览区会显示Error点击进入错误视图可以看到具体是哪些行、什么样的原始值。我见过不少同事在类型转换报错后第一反应是把错误行删掉。这个做法很危险因为错误行里往往是真实业务数据只是格式特殊。比如日期列里有一条2024年1月5日看似日期其实带中文单位转换时照样报错。我的处理方式是先看这些错误行的原始值长什么样。把错误值导出来对照源数据通常会发现几个特殊格式然后回到类型转换步骤之前插入一个替换值步骤把特殊格式转换为有效格式最后再做类型转换。顺序合理了错误行自然消失。如果确实有无效记录在确认数据来源后可以删除但判断依据必须是业务逻辑而不是为了格式好看。5.2 列名自动调整后后续步骤动不动就报找不到列PowerQuery中如果你在某一步重命名了列后续所有引用旧列名的步骤比如筛选、合并查询的匹配列都可能提示找不到列。这是特别常见的坑。我甚至见过一个查询只是改了门店名称为门店后面的合并查询、逆透视、条件列全部报黄整条查询直接刷不出来。PowerQuery有时会自动更新后续步骤里引用的列名但对复杂表达式比如在自定义M代码里硬编码旧列名的地方它无能为力。我的经验是规范化重命名列名要尽早做最好在数据导入后的第一步就统一命名规则。如果确实要中途改列名改完一定要点击最后一步确认结果是否正常再看查询设置里有没有带感叹号或报错的步骤逐个修正。5.3 合并查询展开时字段爆炸把销售明细表和维度表合并查询后PowerQuery默认在右侧生成可展开的多列区域。如果直接点展开维度表的所有列都会进入明细表导致字段数量暴增。正确做法是展开时关闭使用原始列名作为前缀只勾选需要的字段列。如果维度表内容有重复展开列的时候还会看到因重复而溢出的情况这时候就要回到合并查询设置里检查联接类型和匹配列选左外部、右外部还是内部完全取决于分析需求。这类问题在查询量大的模型里会引起刷新变慢和内存膨胀。我通常的做法是维度表先用逆透视变成小长表合并时只选关联需要的主键以及少数显示字段其余字段留在维度表里报表需要时再通过表关系引用而不是全部物理展开进明细表。6. 让清洗查询稳定又快速的小经验6.1 文件来源的稳定性管理连接Excel文件时PowerQuery会把文件路径记录下来。一旦文件移动到别的位置刷新就会报文件路径无效。针对这个问题三个实用建议如果文件在本地固定路径下建议在查询第一步建立一个参数表把文件路径作为参数保存。以后路径变了只需要改参数不需要逐个步骤去改连接路径。如果文件在共享目录尽量使用稳定的共享路径或者把文件放到可同步的云盘目录避免因为本地目录变化导致刷新失败。每次刷新时间明显超过你的耐心限度时优先检查是不是有大量合并查询展开、是不是把大表和宽表都拉进了模型。该精简的精简该上数据库的上数据库。PowerQuery擅长做清洗逻辑但不适合替数据库扛下所有大数据量计算。6.2 大数据量下的几种提速思路数据量几十万行的时候PowerQuery还能顺畅跑几百万行以上就得注意优化策略了尽量提前筛选掉不需要的行再执行耗时的清洗动作让后面的每一步都在更小的数据集上操作。合并查询之前尽量对两侧数据做去重和精简列减少连接计算量。避免每一步都做删除其他列这样的物理裁剪把列裁剪动作统一放在最开始或最后减少中间步骤的数据重排。本地开发时用本地刷新检查逻辑正式部署到报表服务的定期刷新时要对比两种环境的资源占用。有些清洗逻辑在本地没问题到服务端因为内存限制反而卡死。这时候需要在数据源侧就完成部分清洗或者按时间段拆分增量加载。6.3 我自己的收尾习惯按照这套流程跑完清洗我还会做一次复盘把查询设置里的每一步从头到尾过一遍看步骤名是否规范、后面有没有多余的中间步骤。如果发现某几步可以合并、或者某一步其实没起作用就顺手优化掉。这个习惯看着不起眼但对后续维护非常友好。项目过了两三个月再回来改需求的人很可能是你自己打开查询看到清晰的步骤列表基本五分钟就能重新上手。在做这些事的时候有个小技巧给关键步骤起名字时多加几个字比如替换金额中的货币符号而不是替换的值1到后面数据源变了、业务需求变了这些可读性强的步骤名能省去大量回忆成本。PowerQuery的清洗本质上是把人的判断固化成流程流程越清晰数据越可靠这才是做任何数据分析项目最值钱的底子。

相关新闻

SpringBoot集成Elasticsearch实战:从倒排索引到搜索高亮

SpringBoot集成Elasticsearch实战:从倒排索引到搜索高亮

1. 搜索引擎ES到底能解决什么问题先说个我自己的经历。早两年我参与过一个内容管理系统的改造,数据库里存了上百万条文章数据,业务方提的需求越来越离谱:标题要支持模糊搜索、正文要高亮命中词、还要按某个字段做聚合统计。刚开始用MySQL的LI…

2026/10/16 3:35:05 阅读更多 →
VSCode配置C++开发环境:MinGW-w64编译器与调试全攻略

VSCode配置C++开发环境:MinGW-w64编译器与调试全攻略

1. 项目背后的核心问题:VSCode的"C环境配置"才是真正的门槛先说一个很多新手搞错的地方:VSCode本身不是编译器。它只是一个编辑器,负责高亮代码、提示语法、帮助你编辑文件;而把Hello World变成能运行的程序&#xff0c…

2026/10/16 3:34:05 阅读更多 →
深入理解C++中public、protected及private用法

深入理解C++中public、protected及private用法

初学C的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂。今天本文就来十分分析一下C中public、protected及private用法。相信对于大家深入掌握C程序设计会有很大的帮助。这里我们首先要明白下面…

2026/10/16 3:34:05 阅读更多 →

最新新闻

FPGA高速安全状态机设计:编码、时序优化与安全机制

FPGA高速安全状态机设计:编码、时序优化与安全机制

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

2026/10/16 4:28:20 阅读更多 →
基于MP2642GR-Z与PIC18F87J50的两串电池主动均衡方案设计与实现

基于MP2642GR-Z与PIC18F87J50的两串电池主动均衡方案设计与实现

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

2026/10/16 4:28:20 阅读更多 →
MNIST模型压缩实战:886个参数实现98.2%准确率

MNIST模型压缩实战:886个参数实现98.2%准确率

1. 项目缘起与核心思路拆解1.1 为什么要在 MNIST 上死磕参数量MNIST 手写数字识别大概是每个接触深度学习的人绕不开的第一个项目。LeNet-5 在 1998 年就能把它做到 99% 以上,现在随便搭一个三层卷积网络,几分钟训练就能摸到 99.2% 的准确率。也正因为如…

2026/10/16 4:28:20 阅读更多 →
深入理解Linux sync命令:从延迟写入到数据落盘

深入理解Linux sync命令:从延迟写入到数据落盘

1. 为什么需要sync:先看懂内核的延迟写入机制1.1 数据进入page cache之后发生了什么在Linux日常维护里,sync大概是看起来最不起眼的一个命令。它不像top、ps那样天天见,执行起来往往一秒不到就回到提示符,很多刚接触Linux的人甚至…

2026/10/16 4:28:20 阅读更多 →
前端导出Excel/CSV实战:从字符串拼接、Blob到大数据量性能优化

前端导出Excel/CSV实战:从字符串拼接、Blob到大数据量性能优化

1. 从一次数据交付事故说起:为什么前端导出不是“调个库”那么简单去年年底,我帮一个做运营后台的朋友处理过一个挺典型的烂摊子。他们的系统里有一个订单明细页,运营同事每天要把当天的数据导出来做二次分析。最初的做法是后端提供一个接口&…

2026/10/16 4:28:20 阅读更多 →
模板代码异常处理全攻略:从编译拦截到渲染降级

模板代码异常处理全攻略:从编译拦截到渲染降级

模板代码的异常处理,说难不难,说简单也不简单。我接过不少以模板渲染为核心的项目,从批量邮件通知、自动化报表到页面静态化,几乎每个项目在跑起来之后,第一波线上问题全出在模板这一层——变量名拼错、字段为空、循环…

2026/10/16 4:27:20 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

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

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →