Преобразовать последовательность строк из текстового файла в фрейм данных - PullRequest
0 голосов
/ 24 октября 2019

У меня сейчас есть текстовый файл с именами баскетболистов и их статистикой. Текстовый файл выглядит следующим образом (однако все строки от PG до C все находятся на отдельных строках):

Trae Young
Trae Young
Player Floor Time Stats by Position
Position,Min,Net Pts,Off,Def,Net48,W,L,Win%
PG
  63%
-335
 117.3
 123.9
-6.6
 32 
 48 
 40%
SG
SF
PF
C

Player 48-Minute Production by Position
Position,FGA,eFG%,FTA,iFG,Reb,Ast,T/O,Blk,PF,Pts,PER*
PG
24.6  
.480  
8.1  
31% 
5.9  
12.8  
6.0  
.3  
2.7  
30.3  
20.4  
SG
SF
PF
C
Jeremy Lin
Jeremy Lin
Player Floor Time Stats by Position
Position,Min,Net Pts,Off,Def,Net48,W,L,Win%
PG
  21%
-100
 111.6
 117.3
-5.7
 21 
 27 
 43%
SG
  3%
-12
 119.0
 122.9
-3.9
 15 
 16 
 48%
SF
PF
C

Player 48-Minute Production by Position
Position,FGA,eFG%,FTA,iFG,Reb,Ast,T/O,Blk,PF,Pts,PER*
PG
20.1  
.523  
8.8  
34% 
6.0  
9.2  
5.0  
.3  
5.0  
28.4  
20.5  
SG
12.1  
.529  
5.3  
32% 
5.0  
7.5  
3.9  
.4  
3.2  
17.5  
12.3  
SF
PF
C.

Я пытаюсь преобразовать эти строки в кадр данных, который выглядит какэто: фрагмент HTML ниже.

	<h3>Production by Position</h3>
	<b>Player Floor Time Stats by Position</b><br>
	<table width=540 bgcolor=cccccc border=0 cellspacing=1>
	<tr bgcolor=33cc33>
	<td width=80><center><b><font size=-1>Position</font></b></center></td>
	<td width=60><center><b><font size=-1>Min</font></b></center></td>
	<td width=70><center><b><font size=-1>Net Pts</font></b></center></td>
	<td width=60><center><b><font size=-1>Off</font></b></center></td>
	<td width=60><center><b><font size=-1>Def</font></b></center></td>
	<td width=60><center><b><font size=-1>Net48</font></b></center></td>
	<td width=40><center><b><font size=-1>W</font></b></center></td>
	<td width=40><center><b><font size=-1>L</font></b></center></td>
	<td width=60><center><b><font size=-1>Win%</font></b></center></td>
	</tr>
	<tr bgcolor=ffffff>
	<td><center><font size=-1>PG</font></center></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	</tr>
	<tr bgcolor=ffffff>
	<td><center><font size=-1>SG</font></center></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	</tr>
	<tr bgcolor=ffffff>
	<td><center><font size=-1>SF</font></center></td>
	<td align=center><font size=-1>&nbsp; 0%</font></center></td>
	<td align=center><font size=-1>0</font></center></td>
	<td align=center><font size=-1>&nbsp;.0</font></td>
	<td align=center><font size=-1>&nbsp;.0</font></td>
	<td align=center><font size=-1>.0</font></center></td>
	<td align=center><font size=-1></font></center></td>
	<td align=center><font size=-1></font></center></td>
	<td><center><font size=-1>0%</font></center></td>
	</tr>
	<tr bgcolor=ffffff>
	<td><center><font size=-1>PF</font></center></td>
	<td align=center><font size=-1>&nbsp; 37%</font></center></td>
	<td align=center><font size=-1>-26</font></center></td>
	<td align=center><font size=-1>&nbsp;119.0</font></td>
	<td align=center><font size=-1>&nbsp;119.8</font></td>
	<td align=center><font size=-1>-.8</font></center></td>
	<td align=center><font size=-1> 24 </font></center></td>
	<td align=center><font size=-1> 32 </font></center></td>
	<td><center><font size=-1> 42%</font></center></td>
	</tr>
	<tr bgcolor=ffffff>
	<td><center><font size=-1>C</font></center></td>
	<td align=center><font size=-1>&nbsp; 8%</font></center></td>
	<td align=center><font size=-1>-51</font></center></td>
	<td align=center><font size=-1>&nbsp;121.8</font></td>
	<td align=center><font size=-1>&nbsp;129.3</font></td>
	<td align=center><font size=-1>-7.4</font></center></td>
	<td align=center><font size=-1> 21 </font></center></td>
	<td align=center><font size=-1> 29 </font></center></td>
	<td><center><font size=-1> 42%</font></center></td>
	</tr>
	</table>
	<p></center>
	<b><font size=-2>Min</b> represents the percentage of the team's  
	total minutes the player was at that position.  <b>W</b> and <b>L</b> are not adjusted in this instance 
	by quality of opponent while 
	 at that position in a game.</font>
	<p><center>
	<b>Player 48-Minute Production by Position</b><br>
	<table width=720 bgcolor=cccccc border=0 cellspacing=1>
	<tr bgcolor=33cc33>
	<td width=80><center><b><font size=-1>Position</font></b></center></td>
	<td width=60><center><b><font size=-1>FGA</font></b></center></td>
	<td width=60><center><b><font size=-1>eFG%</font></b></center></td>
	<td width=60><center><b><font size=-1>FTA</font></b></center></td>
	<td width=60><center><b><font size=-1>iFG</font></b></center></td>
	<td width=60><center><b><font size=-1>Reb</font></b></center></td>
	<td width=60><center><b><font size=-1>Ast</font></b></center></td>
	<td width=50><center><b><font size=-1>T/O</font></b></center></td>
	<td width=50><center><b><font size=-1>Blk</font></b></center></td>
	<td width=50><center><b><font size=-1>PF</font></b></center></td>
	<td width=60><center><b><font size=-1>Pts</font></b></center></td>
	<td width=50><center><b><font size=-1>PER*</font></b></center></td>
	</tr>
	<tr bgcolor=ffffff>
	<td><center><font size=-1>PG</font></center></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	</tr>
	<tr bgcolor=ffffff>
	<td><center><font size=-1>SG</font></center></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	<td></td>
	</tr>
	<tr bgcolor=ffffff>
	<td><center><font size=-1>SF</font></center></td>
	<td align=right><font size=-1>.0&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>.000&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>.0&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>0%&nbsp;</font></td>
	<td align=right><font size=-1>.0&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>.0&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>.0&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>.0&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>.0&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>.0&nbsp;&nbsp;</font></td>
	<td bgcolor=99ff00 align=right><font size=-1>.0&nbsp;&nbsp;</font></td>
	</tr>
	<tr bgcolor=ffffff>
	<td><center><font size=-1>PF</font></center></td>
	<td align=right><font size=-1>22.2&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>.587&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>6.6&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>58%&nbsp;</font></td>
	<td align=right><font size=-1>15.6&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>3.1&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>3.4&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>1.0&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>5.4&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>31.1&nbsp;&nbsp;</font></td>
	<td bgcolor=99ff00 align=right><font size=-1>25.2&nbsp;&nbsp;</font></td>
	</tr>
	<tr bgcolor=ffffff>
	<td><center><font size=-1>C</font></center></td>
	<td align=right><font size=-1>22.7&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>.615&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>9.2&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>67%&nbsp;</font></td>
	<td align=right><font size=-1>17.5&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>3.6&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>2.5&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>1.2&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>4.9&nbsp;&nbsp;</font></td>
	<td align=right><font size=-1>35.1&nbsp;&nbsp;</font></td>
	<td bgcolor=99ff00 align=right><font size=-1>31.6&nbsp;&nbsp;</font></td>
	</tr>
	</table>

Одно из решений, которое мне пришлось реализовать, - это добавить нули под позициями для каждого временного показателя пола и 48-минутного производства по позициям. Таким образом, я мог бы организовать данные в форму, которая позволила бы мне легко создавать рамки данных. Конечно, я поделился только двумя игроками из текстового файла. Есть один для каждого игрока в лиге. Может кто-нибудь сказать мне, как создать нули таким образом? то есть. просмотреть документ и перейти к PG 63% -335 117,3 123,9 -6,6 32 48 40% SG 0 0 0 0 0 0 0 0 SF 0 0 0 0 0 0 0 0 PF 0 0 0 0 0 0 0 0 C 0 00 0 0 0 0 0. Заранее благодарю за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...