szsnk144864 发表于 2022-6-29 19:38

Python如何修改文档内容

本帖最后由 szsnk144864 于 2022-6-29 19:40 编辑

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


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


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



grekevin 发表于 2022-6-29 19:50

027你要替换成什么?

icie 发表于 2022-6-29 19:50

用re模块,轻松搞定

szsnk144864 发表于 2022-6-29 19:55

grekevin 发表于 2022-6-29 19:50
027你要替换成什么?

到026就结束了:lol

szsnk144864 发表于 2022-6-29 19:58

icie 发表于 2022-6-29 19:50
用re模块,轻松搞定

不会弄,我还在学习中.....{:1_923:}

regis75 发表于 2022-6-29 20:13

百度一下python的正则表达式语法,匹配0开头的数字 再百度一下文件操作 然后替换就ok了, 加油!(随手写了一个,没写文件操作哈){:1_921:}
import re

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


pattern = '0+'
string = '第1条01第2条02第10条010'
res = re.sub(pattern,change, string)
print(res)

grekevin 发表于 2022-6-29 20:23

可能有BUG,但就是这个意思
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
                        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了, 加油!(随手写了 ...

谢谢大佬指点,明白了,{:1_919:}

szsnk144864 发表于 2022-6-29 21:09

grekevin 发表于 2022-6-29 20:23
可能有BUG,但就是这个意思
import re
import string


谢谢大佬{:1_893:}

话痨司机啊 发表于 2022-7-8 10:13

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 =
    if k:
      return k
    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)
页: [1]
查看完整版本: Python如何修改文档内容