Python newb(2ヶ月)をここに募集します。私は、.txtファイルの各行の2つの特定の場所に情報を挿入するプログラムを作成しようとしています。実際には、プロセスで新しいファイルを作成しています。テキストファイルの各行の2つの特定の位置に書き込む(または、情報を追加して新しいファイルを作成する)
1,340.959,859.210,0.0010,VV53
18abc,34099.9590,85989.2100,0.0010,VV53
00y46646464,34.10,859487.2970,11.4210,RP27
出力は次のようになります:異なる
1,7340.959,65859.210,0.0010,VV53
18abc,734099.9590,6585989.2100,0.0010,VV53
00y46646464,734.10,65859487.2970,11.4210,RP27
各行に、数百行
ソースファイル内の情報は、このようなものです。私が探している特定のマーカーは、コンマ(、)の最初と2番目の出現です。 1番目と2番目のカンマの後に追加する必要があります。あなたがコードを見たらどういう意味か分かります。
これまでのところ、プログラムは正しい場所を見つけて必要なものを挿入しますが、新しいファイルには1行以上は書きません。私はデバッグを試み、何が「フードの下で」起こっているのを見て、すべてがそこに良いように見えました。
私はまだ1週間前にどこにいたのですか?
tl; drコードは、新しいファイルに1行だけ出力し、数百を必要とします。私が正しくあなたのサンプルとコードを理解していた場合
f = open('test.txt', 'r')
new = open('new.txt', 'w')
first = ['7']
second = ['65']
line = f.readline()
templist = list(line)
counter = 0
while line != '':
for i, j in enumerate(templist):
if j == ',':
place = i + 1
templist1 = templist[:place]
templist2 = templist[place:]
counter += 1
if counter == 1:
for i, j in enumerate(templist2):
if j == ',':
place = i + 1
templist3 = templist2[:place]
templist4 = templist2[place:]
templist5 = templist1 + first + templist3 + second + templist4
templist6 = ''.join(templist5)
new.write(templist6)
counter += 1
break
if counter == 2:
break
break
line = f.readline()
templist = list(line)
f.close()
new.close()
あなたの入力し、あなたの期待出力を追加することはできますか?私はあなたのコード全体を与えるよりも正確だと思います。 –
csvパーサーを実装しようとしていますか?単に 'csv'モジュールを使用してください。 –