私はPythonを初めて使用し、学生プロジェクトに取り組んでいるときにいくつかの問題に苦しんでいます。基本的に、列でフォーマットされたテキスト ファイルからデータを読み込もうとします。リストのリストにデータを保存し、データを並べ替えて操作し、再度ファイルに書き込みます。私の問題は、書き込まれたデータを適切な列に揃えることです。私はいくつかのアプローチを見つけました
"%i, %f, %e" % (1000, 1000, 1000)
しかし、列がいくつになるかわかりません。すべての列を固定幅に設定する方法があるのだろうか。
入力データは次のようになります。
2 232.248E-09 74.6825 2.5 5.00008 499.482
5 10. 74.6825 2.5 -16.4304 -12.3
これは、リストのリストにデータを保存する方法です。
filename = getInput('MyPath', workdir)
lines = []
f = open(filename, 'r')
while 1:
line = f.readline()
if line == '':
break
splitted = line.split()
lines.append(splitted)
f.close()
データを書き込むために、最初に list のリストのすべての行要素を 1 つの文字列に入れ、要素間に空き固定スペースを置きます。しかし、代わりに、要素を含む固定の合計スペースが必要です。しかし、ファイル内の列数もわかりません。
for k in xrange(len(lines)):
stringlist=""
for i in lines[k]:
stringlist = stringlist+str(i)+' '
lines[k] = stringlist+'\n'
f = open(workdir2, 'w')
for i in range(len(lines)):
f.write(lines[i])
f.close()
このコードは基本的に機能しますが、残念ながら出力が適切にフォーマットされていません。
この問題についてご協力いただきありがとうございます。