特定のテキスト ファイルを解析しようとしています。私はテキストファイルを開こうとしており、特定の文字列がそこにあるかどうかを1行ずつ尋ねています(次の例では、中括弧内に数字01が存在します)。次に、特定の文字列を前方に後方に操作するか、保持します同じ。これがその例です。任意に「go」という名前の1行があります...(完全なファイルの他の行は同様の形式ですが、{01}, {00}
etc...
go = 'USC_45774-1111-0 <hkxhk> {10} ; 78'
go = go.replace(go[22:24],go[23:21:-1])
>>> go
'USC_45774-1111-0 <khxkh> {10} ; 78'
"hk" (go[22:24])
最初の文字を同じ文字に置き換えて、逆に操作しようとして(go[23:21:-1)
いkhxhk
ますkhxkh
。
また、各行に対して特定の if ステートメントを実行する際にも問題があります。持っていない多くの行が{01}
、あたかもそうであるかのように操作されています....
with open('c:/LG 1A.txt', 'r') as rfp:
with open('C:/output5.txt', 'w') as wfp:
for line in rfp.readlines():
if "{01}" or "{-1}" in line:
line = line.replace(line[25:27],line[26:24:-1])
line = line.replace("<"," ")
line = line.replace(">"," ")
line = line.replace("x"," ")
wfp.write(line)
elif "{10}" or "{1-}" in line:
line = line.replace(line[22:24],line[23:21:-1])
line = line.replace("<"," ")
line = line.replace(">"," ")
line = line.replace("x"," ")
wfp.write(line)
elif "{11}" in line:
line = line.replace(line[22:27],line[26:21:-1])
line = line.replace("<"," ")
line = line.replace(">"," ")
line = line.replace("x"," ")
wfp.write(line)
wfp.close()
簡単なものがありませんか?