吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1120|回复: 9
收起左侧

[求助] Python如何修改文档内容

[复制链接]
szsnk144864 发表于 2022-6-29 19:38
本帖最后由 szsnk144864 于 2022-6-29 19:40 编辑

我想通过Python将txt文件里的 01 02 03 04 05 ..... 给替换成 A B C D E .......


但是还要保持其它的不变,


请问各位大佬应该如何来实现?请各位大佬指点迷津



image.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

grekevin 发表于 2022-6-29 19:50
027你要替换成什么?
icie 发表于 2022-6-29 19:50
 楼主| szsnk144864 发表于 2022-6-29 19:55
 楼主| szsnk144864 发表于 2022-6-29 19:58
icie 发表于 2022-6-29 19:50
用re模块,轻松搞定

不会弄,我还在学习中.....
regis75 发表于 2022-6-29 20:13
百度一下python的正则表达式语法,匹配0开头的数字 再百度一下文件操作 然后替换就ok了, 加油!(随手写了一个,没写文件操作哈)
[Python] 纯文本查看 复制代码
import re

def change(matched):
    return chr(int(matched.group())+64)


pattern = '0[0-9]+'
string = '第1条01第2条02第10条010'
res = re.sub(pattern,change, string)
print(res)
grekevin 发表于 2022-6-29 20:23
可能有BUG,但就是这个意思
[Python] 纯文本查看 复制代码
import re
import string

with open('./test.txt', 'r', encoding='utf-8') as fp:
	for line in fp:
		match_data = re.match(r'^(\d+)$', line)
		if match_data:
			new_text = string.ascii_uppercase[int(match_data.group())%26-1]
			with open('./new_text.txt', 'a', encoding='utf-8') as fp:
				fp.write(new_text + '\n')
		else:
			with open('./new_text.txt', 'a', encoding='utf-8') as fp:
				fp.write(line)
 楼主| szsnk144864 发表于 2022-6-29 21:07
regis75 发表于 2022-6-29 20:13
百度一下python的正则表达式语法,匹配0开头的数字 再百度一下文件操作 然后替换就ok了, 加油!(随手写了 ...

谢谢大佬指点,明白了,
 楼主| szsnk144864 发表于 2022-6-29 21:09
grekevin 发表于 2022-6-29 20:23
可能有BUG,但就是这个意思
[mw_shl_code=python,true]import re
import string

谢谢大佬
话痨司机啊 发表于 2022-7-8 10:13
[Python] 纯文本查看 复制代码
from pathlib import Path
import string
from itertools import zip_longest
abc_num  = dict(zip_longest(string.ascii_uppercase,['0' + str(i) for i in range(1,27)]))

def get_key(d,value):
    k = [k for k,v in d.items() if v == value]
    if k:
        return k[0]
    else:
        return None

with open(Path(__file__).parent.joinpath('num.txt'), 'r',encoding='utf8') as f:
    r = f.readlines()
    new_r = []
    for line in r:
        if get_key(abc_num,line.strip()) is not None:
            new_r.append(get_key(abc_num,line.strip()) + '\n')
        else:
            new_r.append(line)
with open(Path(__file__).parent.joinpath('num.txt'), 'w',encoding='utf8') as f:
    f.writelines(new_r)
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表