gpt4 book ai didi

python - 在固定宽度文本文件中的多个位置添加分隔符时出现问题

转载 作者:行者123 更新时间:2023-12-02 19:23:43 25 4
gpt4 key购买 nike

我正在尝试在下面列表中给出的多个位置的固定宽度文本文件中添加分隔符。我正在使用 python 3.4.4

文件:

a.txt

@4a54667inthenationof pr
@3453343bewithmeincaseof
list=[4,8, 11]

因为,文件中有 1000 行,所以我尝试通过迭代列表并将其添加到 newline 中来实现此目的。变量,但分隔符未添加到正确的位置。

代码:

with open('output.txt', 'w') as outfile:
with open('a.txt', 'r') as infile:
for line in infile:
for l in list:
newline = line[:l] + '|' + line[l:]
outfile.write(newline)
outfile.close()

当前输出:生成错误

output.txt

@4a5|4667inthenationof pr
@4a54667|inthenationof pr
@4a54667int|henationof pr
@345|3343bewithmeincaseof@3453343|bewithmeincaseof@3453343bew|ithmeincaseof

预期输出:定界符位于固定位置 4、8 和 11

@4a5|466|7i|nthenationof pr
@345|334|3b|ewithmeincaseof

最佳答案

我认为输出文件中的输出为 4 是由于 for 循环 造成的,为了摆脱它,您应该放置 outfile.write() > 在第一个 for 循环 中。由于您想要管道符号“|”在 4,8 和 11 位置,您可以将其插入行列表并加入以写入新的输出文件

lit=[4,8, 11]
with open('output.txt', 'w') as outfile:
with open('a.txt', 'r') as infile:
for line in infile:
line = list(line)
for i in lit:
line.insert(i,'|')
outfile.write("".join(line))
outfile.close()

关于python - 在固定宽度文本文件中的多个位置添加分隔符时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62669868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com