gpt4 book ai didi

python - 从 .txt 读取行,如果第一个和最后一个字符等于 X 和 Y,则在该字符串后添加一些文本

转载 作者:太空宇宙 更新时间:2023-11-03 17:44:36 25 4
gpt4 key购买 nike

我正在尝试解决以下问题:

  1. 打开 .txt 输入文件
  2. 该 .txt 的阅读行
  3. 将行值存储在列表
  4. 检查是否 lin.startswith("2") 和 lin.endswith("|")
  5. 如果为真,则 lin2 = lin + "ISENTO"
  6. 将编辑后的行写入输出 .txt 文件

这是我到目前为止所得到的......

def editTxt():
#open .txt file and read the lines
filename = askopenfilename(filetypes=[("Text files","*.txt"), ("Text files","*.TXT")])
infile = open(filename, 'r')
infile.read()

#save each line in a list called "linhas" outside the editTxt function
with open(filename, 'r') as f:
linhas = f.readlines()

#create the output file
outfile = open(filename + "_edit.txt", 'w')

#checking the condition and writing the edited lines
for linha in linhas:
if linha.startswith("2") and linha.endswith("|"):
linha = linha + "ISENTO"
outfile.write(linha)

#close files
outfile.close()
infile.close()

问题是我的输出文件完全等于我的输入文件...

我已经尝试使用if linha[0] == "2"and linha[len(linha)-1] == "|"

但后来我发现模块 f.readlines() 只是在我的字符串后面添加 \n ...所以我尝试使用 if linha[0] == "2"和 linha[len(linha)-3] == "|"

但是我也没有工作...

有些人告诉我应该使用替换功能..但我不知道如何使用

The real file example:

lin1: 10|1,00|55591283000185|02/03/2015|31/03/2015

lin2: 20|I||VENDA|0|9977|02/03/2015 00:00:00|02/03/2015 11:48:00|1|5102|||07786273000152|OBSERVE SEGURANCA LTDA|RUA MARINGA,|2150||BOA VISTA|RIBEIRAO PRETO|SP|14025560||39121530|

lin3: 30|1103|DAT 05MM - 5.102||PC|1,0000|19,9000|19,90|090|0,00|0,00|0,00

我只需要更改 lin2,因为它以“2”开头并以“|”结尾

what i need after running the editTxt function:

lin2: 20|I||VENDA|0|9977|02/03/2015 00:00:00|02/03/2015 11:48:00|1|5102|||07786273000152|OBSERVE SEGURANCA LTDA|RUA MARINGA,|2150||BOA VISTA|RIBEIRAO PRETO|SP|14025560||39121530|ISENTO

请Python专家告诉我一种用其他代码更简单的方法来做到这一点,或者最好向我解释我的代码出了什么问题..

谢谢!

最佳答案

你上次的尝试非常接近

“\n”行终止符实际上不是字符“\”和“n”。它是一个特殊字符,为了方便起见,用“\n”表示。所以字符串中只有一个字符而不是两个。

希望这能给您足够的提示来弄清楚如何更改代码:)

关于python - 从 .txt 读取行,如果第一个和最后一个字符等于 X 和 Y,则在该字符串后添加一些文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30004255/

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