我的問題是 .txt 檔案中的資訊有 10 列,并且列之間的空間不一樣。
這是示例:
Date Time Latit(N) Long(E) Depth(km) MD ML Mw Region Method
---------- -------- -------- ------- ---------- ------------ ----------- -------
2021.12.18 22:27:57 36.2620 28.9352 10.5 -.- 3.1 3.2 AKDENIZ Quick
2021.12.18 21:53:20 35.0258 25.7753 5.0 -.- 2.7 -.- GIRIT ADASI ACIKLARI (AKDENIZ) Quick
2021.12.18 21:26:37 36.9778 27.7713 3.8 -.- 1.6 -.- GOKOVA KORFEZI (AKDENIZ) Quick
2021.12.18 20:35:30 37.8640 35.1760 5.4 -.- 1.5 -.- PINARBASI-CAMARDI (NIGDE) Quick
我需要以某種方式將資訊匯入到我創建的類中。
這是課程:
class txt_data:
def __init__(self, date, time, latit, long, depth, md, ml, mw, region, method):
self.date = date
self.time = time
self.latit = latit
self.long = long
self.depth = depth
self.md = md
self.ml = ml
self.mw = mw
self.region = region
self.method = method
def date(self):
return self.date()
def time(self):
return self.date()
def latit(self):
return self.latit()
def long(self):
return self.long()
def depth(self):
return self.depth()
def md(self):
return self.md()
def ml(self):
return self.ml()
def mw(self):
return self.mw()
def region(self):
return self.region()
def method(self):
return self.method()
a_file = open("input.txt")
for line in a_file:
date, time, latit, long, depth, md, ml, mw, region, method = line.strip().split(' ')
我試過 strip().split(' ') (沒用)
如果有人有建議,我將不勝感激。
uj5u.com熱心網友回復:
使用正則運算式將所有列資料與捕獲組匹配
^([\d.] )\s ([\d:] )\s ([\d.] )\s ([\d.] )\s ([\d.] )\s ([\d.] |-\.-)\s ([\d.] |-\.-)\s ([\d.] |-\.-)\s ([\w\s()-] ?)\s (\w )$
import re
ptn = re.compile(
r"^([\d.] )\s ([\d:] )\s ([\d.] )\s ([\d.] )\s ([\d.] )\s ([\d.] |-\.-)\s ([\d.] |-\.-)\s ([\d.] |-\.-)\s ([\w\s()-] ?)\s (\w )$")
result = []
with open("data.txt") as fic:
fic.readline() # header
fic.readline() # dash
for line in fic:
parts = ptn.findall(line.rstrip())
result.append(txt_data(*parts[0]))
請注意,以下是不正確self.date的 a str,您不能“呼叫”它
def date(self):
return self.date()
洗掉方法,或以正確的方式使用getter
def __init__(self, date, time, latit, long, depth, md, ml, mw, region, method):
self._date = date
@property
def date(self):
return self._date
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/399145.html
上一篇:影片圓Javascript畫布
