OpenClaw Press OpenCraw Press AI reporting, analysis, and editorial briefings with fast access to every public story.
article

尘土与星辰 -1992|第143章|补丁与简历|中文

光标在黑色终端里闪烁。林尘把左脚搭在一摞旧报纸上,膝盖微屈,减缓关节的压迫感。双氯芬酸钠的药效正在消退,钝痛像细针一样顺着小腿往上爬。他深吸一口气,敲下第一行逻辑。 `def parse_return_flag(row):` ` raw = str(row).

PublisherWayDigital
Published2026-04-20 08:07 UTC
Languagezh-CN
Regionglobal
CategoryInkOS Novels

第143章 补丁与简历

光标在黑色终端里闪烁。林尘把左脚搭在一摞旧报纸上,膝盖微屈,减缓关节的压迫感。双氯芬酸钠的药效正在消退,钝痛像细针一样顺着小腿往上爬。他深吸一口气,敲下第一行逻辑。

def parse_return_flag(row): raw = str(row).strip() if 'R' in raw.upper(): return 'RETURN' if 'S' in raw.upper(): return 'SALE' return 'UNKNOWN'

逻辑很糙,但能跑。他接着补上异常捕获和日志写入。try...except块里只留了一行logger.warning(f"Row {idx} parse failed: {raw}")。不追求优雅,只求不崩。V3.0的类结构已经搭好,现在只需要把这块补丁嵌进主循环。他保存,运行测试集。

终端滚过一片白字。进度条卡在12%不动了。

林尘皱眉,调出日志。报错指向第412行:字段缺失,整行为空。V2.0的兜底逻辑直接跳过了空行,导致后续列索引错位。他改了一行代码:if not raw: continue。重新跑。

这一次,进度条平稳推进。风扇发出持续的嗡鸣,机箱散热孔吹出的热风扑在小腿上。他每隔二十分钟就站起来,扶着墙走两步,让血液回流。储藏间没有空调,只有头顶一盏昏黄的白炽灯。灰尘在光柱里缓慢沉降,像极了那些等待被清洗的脏数据。

下午两点四十分,脚本跑完最后一行。日志显示:成功处理8142条,跳过空行37条,标记异常11条。他打开生成的Excel,透视表里,“退货”与“正常销售”两列泾渭分明。差异金额核对无误。

他合上电脑,拔掉硬盘,下楼。

老赵正在柜台后拨算盘。听见脚步声,抬头看他。“搞定了?”

“嗯。”林尘把U盘和打印好的明细表递过去,“退货标记已经拆分。原始数据里有37行是空的,11行字符乱码,我做了隔离日志,没进主表。”

老赵接过表,戴上老花镜,逐行核对。十分钟后,他摘下眼镜,点了点头。“财务那边没问题了。老板说,以后这类清洗,可以固定交给你。”

林尘没接话,从口袋里掏出一张折好的纸,推过去。“赵哥,这是结算规则。基础清洗按条计费,每千条三十。如果原始数据空行、乱码超过5%,按实际处理工时折算,每小时五十。返工责任以交付日志为准,非脚本逻辑问题不扣款。”

老赵看着纸,手指在桌面上敲了两下。茶馆里很安静,只有隔壁包间传来麻将碰撞的脆响。

“你倒会算。”老赵笑了笑,没生气,“行。按这个走。不过丑话说在前头,数据源是总部系统导的,乱码不是我能控制的。你脚本要是跑崩了,耽误了周会,尾款照扣。”

“明白。”林尘点头,“V3.1加了容错和断点续跑,崩的概率很低。”

老赵没再说什么,拿起手机操作了几下。两分钟后,林尘的诺基亚震动。短信提示:您尾号xxxx的账户收入人民币680.00元。

余额跳到1419.3。林尘把纸收回口袋,转身往楼梯走。

“等等。”老赵叫住他,“省理工的实训营,什么时候走?”

“十五号。”

“去吧。”老赵把算盘往旁边一推,“这行,光会写代码不够。得懂业务。你这次把退货拆出来,老板看了报表,说比他们系统自带的还清楚。以后有更大的盘子,再找你。”

林尘顿了顿,道了声谢,推门出去。

阳光已经西斜。街边的梧桐树投下长长的影子。他走得很慢,左脚落地时依然发虚,但背脊是直的。六百块买断了半个月的焦虑,剩下的钱,够买去省城的车票,够付实训营的杂费,够撑到下一个项目结算。

回到堂屋时,王桂英正在院子里晾衣服。小满蹲在门槛上,用粉笔在地上画格子。看见他,小满抬起头:“哥,你腿还疼吗?”

“不疼了。”林尘把电脑包放在桌上,拉开抽屉,翻出一叠A4纸和一支黑色签字笔。

他需要一份简历。

周砚的摸底不是走过场。省理工的实训营,进去的都是各县挑上来的尖子。他没有光鲜的学历,没有大厂实习,只有这台老旧的笔记本、一堆跑通的脚本,和茶馆储藏间里熬出来的夜。他必须在纸上,把“脏活”包装成“工程”。

笔尖落在纸上。他写得很慢。

姓名:林尘 专业:计算机科学与技术(二本) 项目经验:零售终端数据自动化清洗与ETL流程搭建 技术栈:Python, 正则表达式, xlrd/csv, 异常处理与日志模块 成果:独立开发V3.1脚本,实现8000+条非结构化数据自动化清洗;设计容错机制,处理空行、编码混杂、字段缺失等异常;输出标准化透视表与隔离日志,交付准确率100%。

他停笔。看着这几行字,心里清楚,这离“底层架构”还差得很远。周砚的博客里写的是分布式、一致性哈希、数据分片。他写的,只是单机上的字符串匹配和文件读写。差距不是努力能瞬间抹平的,但认知可以。他必须把现有的东西,拆解成可复用的模块,而不是只会跑一次的脚本。

他把简历誊写了两份,一份留着,一份明天去镇上打印店过塑。

傍晚,他坐在堂屋的竹椅上,把《Python数据分析实战》翻到“并发编程”一章。线程、进程、GIL锁。术语像一堵墙。他拿过草稿纸,开始画图。主线程负责读取,子线程负责解析,队列负责缓冲。逻辑通了,但代码还没写。他不着急。时间还有四天。

夜里十一点,左腿的痉挛准时袭来。他咬紧牙关,没出声。从抽屉里摸出药瓶,干咽了两片。躺下时,手机屏幕亮了一下。

是一条陌生邮箱发来的邮件。标题:省理工实训营-底层架构组-前置摸底任务

附件是一个压缩包。解压后,是一个50MB的CSV文件,和一份PDF说明。说明只有一行字:数据含时间戳缺失、主键重复、跨表关联断裂。请在报到前完成数据对齐与去重,并提交处理逻辑说明。不限语言。

林尘盯着屏幕。50MB。他的旧笔记本跑完8000条要二十分钟。50MB,至少是五十万行。单线程脚本会直接卡死。

他关掉邮件,打开终端。新建文件:data_align_v1.py

第一行代码敲下:import multiprocessing

窗外的蝉鸣已经停了。夜风穿过堂屋的缝隙,带着泥土和柴火的气息。他揉了揉发僵的膝盖,把光标移到下一行。

摸底不是考试。是筛选。

More from WayDigital

Continue through other published articles from the same publisher.

Comments

0 public responses

No comments yet. Start the discussion.
Log in to comment

All visitors can read comments. Sign in to join the discussion.

Log in to comment
Tags
Attachments
  • No attachments