繁体   English   中英

如何使用Python从LaTeX表中提取数据

[英]How to extract data from LaTeX table using Python

我在.tex文件中有一个用LaTeX编写的表:

\begin{tabular}{cccccccc} 
\hline
\hline
$ \beta$ & $T\times L^3$ & $am_{ud}^\bare$ & $am_s^\bare$ & $Z_S (am_{ud})$ & $a\Mss$ & $a M_\pi$ & $aF_\pi/Z_A$ \\ \hline
%48\_24\_3.5\_ud-0.041\_s-0.006 
& $48\times 24^3$ & -0.041 & -0.006 
& 0.01475(33) & 0.3415(5)(2) & 0.19188(50)(6) & 0.05491(34)(0) \\ 
%48\_24\_3.5\_ud-0.0437\_s-0.006 
& $48\times 24^3$ & -0.0437 & -0.006 
& 0.01188(27) & 0.3396(5)(2) & 0.17238(49)(3) & 0.05263(34)(0) \\ 
%64\_24\_3.5\_ud-0.041\_s-0.012 
& $64 \times 24^3$ & -0.041 & -0.012 
& 0.01428(33) & 0.3175(95)(4) & 0.18790(90)(30) & 0.05384(84)(6) \\ 
%64\_32\_3.5\_ud-0.0463\_s-0.012 
& $64 \times 32^3$ & -0.0463 & -0.012 
& 0.00853(20) & 0.3134(10)(7) & 0.14440(70)(60) & 0.05004(62)(6) \\ 
%64\_32\_3.5\_ud-0.048\_s-0.0023 
3.5 & $64 \times 32^3$ & -0.048 & -0.0023
& 0.00726(17) & 0.3496(75)(5) & 0.13480(70)(20) & 0.04982(59)(1) \\ 
%64\_32\_3.5\_ud-0.049\_s-0.006 
& $64 \times 32^3$ & -0.049 & -0.006
& 0.00579(15) & 0.3339(10)(5) & 0.12100(9)(3) & 0.04837(84)(3) \\ 
%64\_32\_3.5\_ud-0.049\_s-0.012 
& $64 \times 32^3$ & -0.049 & -0.012
& 0.00560(14) & 0.3103(69)(9) & 0.11733(64)(3) & 0.04800(68)(2) \\ 
%64\_48\_3.5\_ud-0.0515\_s-0.012 
& $64 \times 48^3$ & -0.0515 & -0.012
& 0.00288(7) & 0.3079(9)(1) & 0.08410(60)(20) & 0.04628(58)(3) \\ 
%64\_64\_3.5\_ud-0.05294\_s-0.006 
& $64 \times 64^3$ & -0.05294 & -0.006
& 0.00149(5) & 0.3281(9)(5) & 0.06126(60)(9) & 0.04440(75)(6) \\ 
\hline
%48\_32\_3.61\_ud-0.028\_s0.0045 
& $48 \times 32^3$ & -0.028 & 0.0045
& 0.01008(23) & 0.2955(6)(3) & 0.14852(49)(2) & 0.04408(34)(2) \\ 
%48\_32\_3.61\_ud-0.03\_s0.0045 
& $48 \times 32^3$ & -0.03 & 0.0045
& 0.00808(18) & 0.2929(7)(3) & 0.13217(50)(9) & 0.04262(39)(1) \\ 
%48\_32\_3.61\_ud-0.03\_s-0.0042 
& $48 \times 32^3$ & -0.03 & -0.0042
& 0.00783(18) & 0.2602(7)(2) & 0.12943(59)(4) & 0.04207(39)(1) \\ 
%48\_48\_3.61\_ud-0.03121\_s0.0045 
3.61 & $48 \times 48^3$ & -0.03121 & 0.0045
\end{tabular}

我显然只想要数字,但是我什至无法让Python读取行。 例如,如果我定义:

file=open('lattice-data.tex','r')

并尝试file.read()file.readline()我只能得到''作为回报。

使用正则表达式(regex)提取信息。 例如,您可能在w3学校阅读了如何在python中使用正则表达式。

在核心处,您应该查找列定界符amp'&',换行符将双反斜杠'\\\\'。 撬开表后,您可以使用正则表达式针对每种数据类型对每个条目进行“解码”。 (我无法在未格式化的源代码中看到清晰的图案。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM