Skip to main content
 首页 » 编程设计

python之字符串 block 格式化挑战

2025年05月04日31oomusou

我正在研究一种从国家地震信息中心 (USGS) 自动下载地震参数的方法。不幸的是,他们的格式是一堆废话,我认为我不太可能说服他们改变格式。所以,我必须格式化他们的 <pre> html block 只是为了将其放入表格形式。

但我在字符串格式化方面的经验有限,所以我被卡住了(但肯定有人可能有解决方案)。这是一个例子:

curl --silent http://earthquake.usgs.gov/earthquakes/eqinthenews/2010/uu00002715/uu00002715_gcmt.php |\ 
sed -n '/<pre>/,/<\/pre>/p' |\ 
egrep -v '(#)|(pre>)' |\ 
egrep '(MW)|(ORIGIN)|(LAT)|(DEP)|(BEST DBLE)|(NP1)' 

它给出了我需要格式化的信息:

April 15, 2010, UTAH, MW=4.6 
ORIGIN TIME:      23:59:42.8 0.4 
LAT:41.72N 0.03;LON:110.86W 0.03 
DEP: 12.5  1.8;TRIANG HDUR:  0.6 
BEST DBLE.COUPLE:M0= 1.07*10**23 
NP1: STRIKE=193;DIP=35;SLIP= -80 

我想要这样的格式:

name date       time       lon     lat   dep  dep_err Mw  M0      strike dip slip 
UTAH 2010/04/15 23:59:42.8 -110.86 41.72 12.5 1.8     4.6 1.07e23 193    35  -80 

请注意经度将转换为东经(因此符号会发生变化)。

我希望解决方案在 awk 中, python , 或 unix shell命令,但我会招待ruby或 perl (我可能不明白发生了什么)。

请您参考如下方法:

为什么不只使用他们的一种 XML 格式的提要,例如 this one .我确信它更容易解析。