0
私はいくつかのシミュレーション結果を.dat-filesから読み込み、解析しようとしています。 ファイルの構造は次のとおりです。文字列配列をfloat配列に変換する
N o d a l D i s p l a c e m e n t s Time 0.10000E+01
Prop. Ld. 1.00000E+00
Node 1 Coord 2 Coord 3 Coord 1 Displ 2 Displ 3 Displ
1 0.0000E+00 5.0000E-01 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
2 0.0000E+00 2.5005E-01 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
3 0.0000E+00 1.0000E-04 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
4 1.0000E+00 5.0000E-01 0.0000E+00 -1.9511E-04 4.0845E-04 -2.1522E-05
5 1.0000E+00 2.5005E-01 0.0000E+00 1.1185E-08 4.0053E-04 2.6545E-09
6 1.0000E+00 1.0000E-04 0.0000E+00 1.9511E-04 4.0847E-04 2.1526E-05
7 2.0000E+00 5.0000E-01 0.0000E+00 -3.5177E-04 1.5287E-03 -1.2678E-05
...などです。
数値データを浮動小数点に変換して文字列を削除するにはどうすればよいですか? 私は、次のコードでそれを試してみました:
class DataLoader:
def __init__(self, number_files):
self.number_files = number_files
def loader(self):
array = []
for i in range(1, self.number_files + 1):
try:
if i < 10:
data = open("ndis_00%s.dat" % i, "r")
elif i >= 10 and i <= 100:
data = open("ndis_0%s.dat" % i, "r")
except IOError:
print("I/O Error")
for line in data:
if line != "\n":
array.append(line.split())
try:
float(line)
except (ValueError, TypeError):
line[:] = []
print(line)
を私はfloat型に変換するラインを維持したいコードと完全に削除することができます変換しません文字列で。
ありがとうございます。それでおしまい。 – ingenium