如何替换数字列表中的单个数字(从一组行)? [英] How do i replace a single number (from a set of lines) from a list of numbers?

查看:132
本文介绍了如何替换数字列表中的单个数字(从一组行)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是编程/宏编程等的新手,我想这样做. 我应该使用Word 2007还是Python或其他工具?我目前只有这两件事.

i am new to programming/macroing,etc and i would like to do this. Should i use word 2007 or Python or something else? i have only those two things currently.

original message is this:
hello how are you ref=13515
ofdifaoididpodvjakjeoijknvkln
ikvnoivwoeij,vn,nviojv
nkavjoiewgkjvlkaior

此邮件的号码将被此列表中的号码代替

this message has a number which is to be replaced by a number in this list

876191
11166524
1117225
1116953
798993
793519
1116737
1116691
1116364
1115635
909014
760195
689981
604787
1116217
1104482
869990
886290
1115893

,并且该消息应复制粘贴自己的次数,因为该列表中有数字.

and the message should copypaste itself that number of times as there are numbers in that list.

所以我的结果应该是

hello how are you ref=876191
ofdifaoididpodvjakjeoijknvkln
ikvnoivwoeij,vn,nviojv
nkavjoiewgkjvlkaior
hello how are you ref=11166524
ofdifaoididpodvjakjeoijknvkln
ikvnoivwoeij,vn,nviojv
nkavjoiewgkjvlkaior
hello how are you ref=1117225
ofdifaoididpodvjakjeoijknvkln
ikvnoivwoeij,vn,nviojv
nkavjoiewgkjvlkaior
and so on

请注意,列表中的数字是6或7或8位数字

pls note that the numbers in the list are 6 or 7 or 8 digit numbers

谢谢

推荐答案

一个简单的Python脚本将起作用:

A simple Python script will work:

template = """hello how are you ref={}
ofdifaoididpodvjakjeoijknvkln
ikvnoivwoeij,vn,nviojv
nkavjoiewgkjvlkaior
"""

replace = [
    876191, 11166524, 1117225, 1116953, 798993,
    793519, 1116737, 1116691, 1116364, 1115635,
    909014, 760195, 689981, 604787, 1116217,
    1104482, 869990, 886290, 1115893]

print ''.join([template.format(r) for r in replace])

将显示:

hello how are you ref=876191
ofdifaoididpodvjakjeoijknvkln
ikvnoivwoeij,vn,nviojv
nkavjoiewgkjvlkaior
hello how are you ref=11166524
ofdifaoididpodvjakjeoijknvkln
ikvnoivwoeij,vn,nviojv
nkavjoiewgkjvlkaior
hello how are you ref=1117225
ofdifaoididpodvjakjeoijknvkln
ikvnoivwoeij,vn,nviojv
nkavjoiewgkjvlkaior
.
.
.

以此类推.

如果您想将输出直接写到文本文件,则可以使用以下方法:

If you would like to write the output directly to a text file, the following will work:

with open('output.txt', 'w') as f_output:
    f_output.write(''.join([template.format(r) for r in replace]))

如果您还想从文本文件中读取数字,请使用以下命令:

If you would also like to read the numbers from a text file, use the following:

with open('numbers.txt', 'r') as f_input, open('output.txt', 'w') as f_output:
    for number in f_input:
        f_output.write(template.format(number.strip()))

这篇关于如何替换数字列表中的单个数字(从一组行)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆