尘土与星辰 -1992|第137章|齿轮与余量|中文
凌晨五点四十。闹钟没响。林尘自己睁开了眼。左脚的麻木感已经蔓延到小腿肚,像裹了一层湿透的粗麻布。他坐起身,没有立刻下床。先在床沿坐了十分钟,让血液慢慢回流。然后解开纱布。伤口边缘泛白,没有化脓,但结痂处被汗液浸得发软。他用碘伏棉签轻轻擦拭。刺痛感很微弱,神经末
第137章 齿轮与余量
凌晨五点四十。闹钟没响。林尘自己睁开了眼。左脚的麻木感已经蔓延到小腿肚,像裹了一层湿透的粗麻布。他坐起身,没有立刻下床。先在床沿坐了十分钟,让血液慢慢回流。然后解开纱布。伤口边缘泛白,没有化脓,但结痂处被汗液浸得发软。他用碘伏棉签轻轻擦拭。刺痛感很微弱,神经末梢似乎还在罢工。重新包扎。缠紧。穿袜。套鞋。鞋带系在脚背最上方,避开脚踝的肿胀处。
堂屋的灯没亮。王桂英的呼吸声从里屋传来,平稳而绵长。林建国在院子里咳嗽了一声,大概是起夜。林尘没出声。他拿起帆布包,检查了一遍:身份证、回执、半块干粮、水壶。账本在夹层里。他推开门。晨雾贴着青石板路蔓延。空气里有露水打湿泥土的腥气。
六点十分。第一班城乡公交。车厢里只有三个早起赶集的农人。他坐在最后一排靠窗的位置。左脚悬空,不敢踩实地面。车窗玻璃上凝着水汽。他用手指划开一道缝隙。看外面的路。从村道到省道。从土路到柏油路。风景在倒退。时间在向前。他在脑子里默算:车程两小时十分钟。步行十五分钟。七点五十五分必须到窗口。迟到一次,扣五块。迟到三次,合同作废。他输不起。
七点五十。职业介绍所大厅。已经排了十几个人。空气闷热。吊扇在头顶吱呀转动,搅不动凝滞的热气。他走到三号窗口。递上回执和身份证。中年女人核对了一下。递给他一张工牌和一把钥匙。“B区第四排。电脑开机密码是123456。桌面有操作手册。今天先跑测试库。错字率超百分之三,扣五块。去吧。”
他点头。接过工牌。塑料牌边缘有些割手。
B区是长条形的大开间。二十台电脑。屏幕泛着幽蓝的光。键盘敲击声已经连成一片。像密集的雨点打在铁皮屋顶上。他找到第四排。坐下。开机。输入密码。桌面弹出两个文件夹:源数据。录入模板。
他双击源数据。TXT格式。密密麻麻的文本。客户名、电话、地址、发票号、金额。全角半角混杂。空格、换行、乱码像杂草一样丛生。他打开模板。Excel表格。字段已经列好。他深吸一口气。双手放上键盘。
八点整。开工。
第一个小时。手指在键位上跳跃。他不看屏幕。只看源数据。脑子里预先清洗。去空格。转半角。跳过无效行。填入对应单元格。回车。下一行。节奏很稳。但旧电脑的响应有延迟。按下回车后,光标要卡顿半秒才跳到下一格。他必须适应这种延迟。不能抢拍。抢拍就会漏字。
第三个小时。左脚开始发胀。鞋里的空间被挤压。脚趾蜷缩在袜子里。他调整坐姿。把重心移到右臀。左手继续敲。右手偶尔去拿水杯。水温已经凉了。他喝了一口。润喉。继续。屏幕上的光标像一把钝刀,一下一下切割着时间。他不去想痛。只关注准确率。错一个,扣五块。扣掉车费,今天白干。
中午十二点。广播响起。“休息四十分钟。食堂在二楼。过时不候。”
他停下。保存文件。关闭Excel。起身。左脚落地时,膝盖微微一软。他扶住桌沿。等那股酸麻过去。才慢慢走向楼梯。
食堂是自助打菜。两荤一素。米饭管饱。他打了半份红烧肉。一份炒青菜。一碗汤。坐在角落。慢慢吃。肉很咸。油很重。但热量实在。他计算着摄入与消耗。四十块日薪。包一顿午餐。省下的钱可以买碘伏和纱布。如果脚伤不恶化,这套循环能转下去。他吃完。把碗筷洗净。放回回收处。没有多停留一分钟。
下午一点四十。回到工位。继续。
数据量很大。源文件有五千条。按每小时四百条的速度,要干到晚上六点。他不敢停。手指已经磨出水泡。虎口发酸。他每隔四十分钟,就站起来活动一下手腕。左脚始终悬着。或者用脚尖轻轻点地。保持血液循环。
四点。屏幕右下角弹出提示框。“今日进度:2800/5000。”他看了一眼。继续。
五点五十。最后两百条。他放慢速度。逐字核对。金额字段不能错。小数点不能漏。错一个,扣五块。他输不起。
六点整。保存。备份。提交。
屏幕跳出结算单:录入量3120条。错字率1.8%。合格率:达标。明日结算:40元。
他靠在椅背上。闭上眼。呼吸很重。汗水顺着鬓角流下来。浸湿了衣领。他没有立刻起身。等心跳平复。才慢慢站起来。左脚已经彻底失去知觉。像一根木棍。他扶着墙。一步一步挪出大厅。
回程的公交更挤。下班的人流涌上车厢。他站在后门角落。抓着扶手。帆布包抱在胸前。车窗外的路灯一盏盏亮起。城市进入夜晚。他的身体在透支。但脑子是清醒的。他在复盘今天的流程。源数据的清洗规则可以固化。模板的格式可以预设。如果能写一段脚本。自动读取TXT。正则匹配。清洗。输出CSV。再导入Excel。效率能翻十倍。
七点四十。到站。步行回村。十五分钟。
八点整。县图书馆。旧电脑区。灯光昏暗。只有三台机器开着。他走到最角落的一台。坐下。开机。系统很老。Windows 98。没有网络。只有本地硬盘里存着几本电子教程和编程手册。他打开“Python入门”。TXT格式。纯文本。没有高亮。没有自动补全。
他翻开笔记本。里面是他手抄的语法笔记。变量。列表。字典。循环。文件读写。他对照着屏幕。开始敲代码。
import os
file_path = "C:\\data\\source.txt"
f = open(file_path, "r")
lines = f.readlines()
f.close()
他敲得很慢。每一个字符都要核对。缩进必须严格。四个空格。不能多。不能少。敲完。保存为 clean.py。双击运行。
黑色命令行窗口弹出。报错。
SyntaxError: invalid syntax
他盯着屏幕。逐行检查。第三行。引号是中文全角。他删掉。换成英文半角。重新保存。运行。
又报错。
IndentationError: unexpected indent
他检查缩进。发现第五行多了一个空格。删掉。运行。
窗口闪烁了一下。没有输出。也没有报错。程序静默结束。
他打开输出文件夹。里面多了一个 output.csv。双击打开。乱码。
编码问题。TXT是GBK。Python默认用ASCII读。他必须换一种写法。或者用 codecs 模块。他翻开手册。查找 codecs。手抄笔记里没有。他只能从头看。一行一行读。理解逻辑。然后改写代码。
import codecs
f = codecs.open(file_path, "r", "gbk")
...
九点四十。他改了七版。终于。命令行窗口跳出:Processed 5000 lines. 输出文件打开。数据整齐。字段对齐。没有乱码。
他靠在椅背上。长出一口气。屏幕的光映在脸上。眼睛干涩。但嘴角没有笑。只是平静。他关掉文件。清理缓存。关机。
走出图书馆。夜风很凉。他慢慢走回村。脚步很沉。左脚像灌了铅。每一步都要靠右腿拖着走。
到家。堂屋的灯还亮着。小满趴在桌上睡着了。画册摊开。画着一台老式电脑。屏幕里画着很多星星。王桂英在里屋缝衣服。听到脚步声。她抬起头。“回来了?”
“嗯。”他放下包。去水缸舀水。洗脸。洗脚。拆开纱布。伤口边缘红肿。渗液比早上多。他用碘伏消毒。重新包扎。动作很轻。怕吵醒人。
他坐在桌前。翻开账本。 日期:8月6日。 支出:车费5元。碘伏0.8元。纱布0.5元。 收入:0(明日结算)。 余额:-1.3元(预支明日)。 脚伤:肿胀加剧。知觉未恢复。 进度:脚本V1.0跑通。耗时2小时。处理5000条。
他停下笔。看着负数。明天拿到四十块。能填平。但脚本只是第一步。真实数据有脏数据。有空行。有断行。有金额带千分位符。脚本要能处理这些异常。否则跑一半就会崩溃。他需要加入异常捕获。需要写正则表达式。需要把清洗逻辑封装成函数。
他合上账本。吹灭台灯。黑暗落下。左脚的痛感在深夜里变得清晰。像一根细针。一下一下扎在神经上。他闭上眼。脑子里还在跑代码。try...except。异常捕获。正则表达式。匹配数字。过滤非数字字符。
明天。早八点。报到。晚上。图书馆。脚本V2.0。异常处理。
路还长。但齿轮已经咬合。余量在减少。时间不等人。
窗外的风停了。远处的狗吠了两声。
他闭上眼。心跳平稳。
明天。八点。键盘。代码。异常捕获。
路还长。但每一步,都踩在实地上。
More from WayDigital
Continue through other published articles from the same publisher.
Comments
0 public responses
All visitors can read comments. Sign in to join the discussion.
Log in to comment