You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python数字格式化代码求助:将10位数字按指定规则分段输出

Python数字格式化自动化工具实现方案

没问题,我来帮你搞定这个数字格式化的小工具,完全可以替代Excel手动操作,大幅提升效率!

实现思路

核心就是对每个10位数字按固定位置切片,再拼接成你需要的格式,同时处理可能的无效数据(比如非10位、非数字的内容),避免出错。

完整代码(文件批量处理版)

这个版本适合你有大量数字保存在文本文件里的场景,直接读取文件、批量处理并输出到新文件:

def format_numbers(input_file_path, output_file_path):
    try:
        with open(input_file_path, 'r', encoding='utf-8') as infile:
            with open(output_file_path, 'w', encoding='utf-8') as outfile:
                for line in infile:
                    # 去除每行的换行符、空格等空白字符
                    num = line.strip()
                    # 校验是否为10位数字
                    if len(num) == 10 and num.isdigit():
                        # 按规则分段拼接:前3位+空格+中间3位+空格+后3位+空格+最后1位+/
                        formatted_num = f"{num[:3]} {num[3:6]} {num[6:9]} {num[9:]}/"
                        outfile.write(formatted_num + '\n')
                    else:
                        print(f"⚠️ 警告:行内容 '{num}' 不符合10位数字要求,已跳过")
        print(f"✅ 格式化完成!结果已保存到 {output_file_path}")
    except FileNotFoundError:
        print(f"❌ 错误:未找到输入文件 {input_file_path},请检查路径是否正确")
    except Exception as e:
        print(f"❌ 发生未知错误:{str(e)}")

# 这里替换成你的实际文件路径
if __name__ == "__main__":
    input_file = "原始数字.txt"  # 你的原始数字文件,每行一个10位数字
    output_file = "格式化后数字.txt"
    format_numbers(input_file, output_file)

代码解释

  • 使用with open语句自动管理文件的打开和关闭,不用手动担心资源泄漏
  • line.strip():去除每行末尾的换行符和可能的空格,保证数字的纯净性
  • 校验逻辑:先检查长度是否为10,再确认是纯数字,过滤无效数据
  • 字符串切片:num[:3]取前3位,num[3:6]取第4-6位,num[6:9]取第7-9位,num[9:]取最后1位,用f-string轻松拼接成目标格式
  • 异常处理:针对文件找不到、其他未知错误给出明确提示,方便排查问题

快速测试版(直接输入数字)

如果你只是想快速测试少量数字,可以用这个版本:

# 把你的数字放到这个列表里
test_numbers = ["1234567891", "9654321878", "9283876326"]

for num in test_numbers:
    if len(num) == 10 and num.isdigit():
        formatted = f"{num[:3]} {num[3:6]} {num[6:9]} {num[9:]}/"
        print(formatted)
    else:
        print(f"无效数字:{num}")

使用步骤

  1. 把所有原始10位数字保存到一个文本文件(比如原始数字.txt),每行一个数字
  2. 修改代码中的input_fileoutput_file为你的实际文件路径
  3. 运行Python代码,格式化后的结果就会出现在输出文件里,每行一个符合要求的格式

内容的提问来源于stack exchange,提问作者crazzssy

火山引擎 最新活动