如何在不使用 numpy 的情况下将数据提取到二维数组中
How To Extract data into a two dimensional array without using numpy
我正在尝试从 markdown 文件在 python 中创建一个二维数组。
我目前有杂乱无章的数据,我已经小心地删除了不需要的字段。
我目前遇到的问题是,如何遍历我的数据并将其添加到数组中。
当前数据未组织(melbourne.md):
| --- |
| Melbourne |
| --- |
| 2021 |
| --- |
| Rnd | T | Opponent | Scoring | F | Scoring | A | R | M | W-D-L | Venue | Crowd | Date |
| R1 | H | Fremantle | 4.4 7.6 9.8 11.14 | 80 | 0.4 3.8 6.9 8.10 | 58 | W | 22 | 1-0-0 | M.C.G. | 21365 | Sat 20-Mar-2021 1:45 PM |
| R2 | A | St Kilda | 3.4 6.7 9.13 12.19 | 91 | 3.2 6.3 8.4 11.7 | 73 | W | 18 | 2-0-0 | Docklands | 25903 | Sat 27-Mar-2021 7:25 PM |
| R3 | A | Greater Western Sydney | 2.3 6.5 10.7 15.12 | 102 | 5.1 7.1 8.1 11.2 | 68 | W | 34 | 3-0-0 | Manuka Oval | 9563 | Sun 04-Apr-2021 6:10 PM |
| R4 | H | Geelong | 2.4 6.8 9.9 12.13 | 85 | 1.1 3.3 8.3 9.6 | 60 | W | 25 | 4-0-0 | M.C.G. | 33728 | Sun 11-Apr-2021 3:20 PM |
| R5 | A | Hawthorn | 2.5 4.7 7.10 15.14 | 104 | 4.3 5.3 6.6 8.6 | 54 | W | 50 | 5-0-0 | M.C.G. | 36337 | Sun 18-Apr-2021 3:20 PM |
| R6 | H | Richmond | 2.2 6.6 10.8 12.10 | 82 | 3.3 3.7 5.8 6.12 | 48 | W | 34 | 6-0-0 | M.C.G. | 56418 | Sat 24-Apr-2021 7:25 PM |
| R7 | A | North Melbourne | 3.2 6.4 12.7 16.7 | 103 | 4.1 9.5 10.6 11.7 | 73 | W | 30 | 7-0-0 | Bellerive Oval | 6009 | Sun 02-May-2021 1:10 PM |
| R8 | H | Sydney | 3.1 5.6 8.6 10.7 | 67 | 3.3 3.7 6.8 8.10 | 58 | W | 9 | 8-0-0 | M.C.G. | 35567 | Sat 08-May-2021 7:25 PM |
| R9 | H | Carlton | 4.3 8.6 12.9 13.16 | 94 | 3.2 6.5 8.7 10.8 | 68 | W | 26 | 9-0-0 | M.C.G. | 38581 | Sun 16-May-2021 3:20 PM |
| R10 | A | Adelaide | 5.1 8.4 11.8 14.11 | 95 | 4.2 8.4 11.5 15.6 | 96 | L | -1 | 9-0-1 | Adelaide Oval | 31373 | Sat 22-May-2021 4:05 PM |
| R11 | A | Western Bulldogs | 6.5 9.6 12.8 13.9 | 87 | 2.2 6.5 6.8 8.11 | 59 | W | 28 | 10-0-1 | Docklands | | Fri 28-May-2021 7:50 PM |
| R12 | H | Brisbane Lions | 2.3 5.4 10.9 14.13 | 97 | 4.4 8.6 10.8 11.9 | 75 | W | 22 | 11-0-1 | Showground | 3772 | Fri 04-Jun-2021 7:50 PM |
| R13 | H | Collingwood | 2.2 4.4 8.6 9.9 | 63 | 1.4 6.8 8.11 11.14 | 80 | L | -17 | 11-0-2 | S.C.G. | 16453 | Mon 14-Jun-2021 3:20 PM |
| R15 | A | Essendon | 1.5 4.8 8.12 9.14 | 68 | 2.3 4.5 6.7 8.9 | 57 | W | 11 | 12-0-2 | M.C.G. | 19414 | Sat 26-Jun-2021 7:25 PM |
| R16 | H | Greater Western Sydney | 1.3 3.6 5.9 7.13 | 55 | 2.2 6.6 8.8 9.10 | 64 | L | -9 | 12-0-3 | M.C.G. | 16963 | Sat 03-Jul-2021 1:45 PM |
| R17 | A | Port Adelaide | 3.2 8.4 10.9 12.14 | 86 | 2.2 5.3 7.5 8.7 | 55 | W | 31 | 13-0-3 | Adelaide Oval | 30908 | Thu 08-Jul-2021 7:10 PM |
| Totals | 194.195 | 1359 | 152.134 | 1046 | P:16 W:13 D:0 L:3 | | 382354 | |
| Averages | 12.12 | 85 | 10.8 | 65 | | | 25490 | |
| --- |
| 2020 |
| --- |
| Rnd | T | Opponent | Scoring | F | Scoring | A | R | M | W-D-L | Venue | Crowd | Date |
| R1 | A | West Coast | 0.4 3.6 5.9 7.9 | 51 | 5.1 7.3 11.6 12.6 | 78 | L | -27 | 0-0-1 | Perth Stadium | | Sun 22-Mar-2020 3:40 PM |
| R2 | A | Carlton | 5.2 7.4 8.5 8.6 | 54 | 0.0 2.5 4.6 7.11 | 53 | W | 1 | 1-0-1 | Docklands | | Sat 13-Jun-2020 4:35 PM |
| R4 | H | Geelong | 0.1 2.3 3.5 6.8 | 44 | 2.1 2.2 6.4 7.5 | 47 | L | -3 | 1-0-2 | M.C.G. | | Sun 28-Jun-2020 3:35 PM |
| R5 | H | Richmond | 3.1 3.2 5.2 8.4 | 52 | 3.2 7.3 9.7 12.7 | 79 | L | -27 | 1-0-3 | M.C.G. | | Sun 05-Jul-2020 3:35 PM |
| R6 | H | Gold Coast | 2.1 6.5 8.8 12.8 | 80 | 3.2 5.4 8.5 9.9 | 63 | W | 17 | 2-0-3 | Showground | 250 | Sat 11-Jul-2020 6:05 PM |
| R7 | A | Hawthorn | 3.2 7.3 11.6 14.7 | 91 | 1.2 2.3 4.6 7.6 | 48 | W | 43 | 3-0-3 | Showground | 750 | Sun 19-Jul-2020 3:35 PM |
| R8 | H | Brisbane Lions | 2.2 3.3 4.6 7.7 | 49 | 2.2 5.5 7.6 7.11 | 53 | L | -4 | 3-0-4 | Carrara | 3011 | Sun 26-Jul-2020 6:10 PM |
| R9 | H | Port Adelaide | 0.2 1.3 3.5 4.8 | 32 | 3.2 6.6 10.9 12.11 | 83 | L | -51 | 3-0-5 | Gabba | 323 | Thu 30-Jul-2020 7:50 PM |
| R10 | A | Adelaide | 3.2 5.4 6.7 13.10 | 88 | 2.4 4.5 4.7 5.7 | 37 | W | 51 | 4-0-5 | Adelaide Oval | 12022 | Wed 05-Aug-2020 7:40 PM |
| R11 | H | North Melbourne | 1.4 4.7 7.8 13.14 | 92 | 3.2 4.2 5.4 5.5 | 35 | W | 57 | 5-0-5 | Adelaide Oval | 2172 | Sun 09-Aug-2020 5:40 PM |
| R12 | H | Collingwood | 3.3 10.4 12.4 16.4 | 100 | 1.1 5.2 6.6 6.8 | 44 | W | 56 | 6-0-5 | Gabba | 5338 | Sat 15-Aug-2020 5:10 PM |
| R13 | A | Western Bulldogs | 1.3 5.5 5.8 7.10 | 52 | 2.4 4.4 10.5 12.8 | 80 | L | -28 | 6-0-6 | Carrara | 1765 | Sat 22-Aug-2020 1:45 PM |
| R14 | H | St Kilda | 4.0 5.1 7.3 8.4 | 52 | 1.3 4.5 6.6 7.7 | 49 | W | 3 | 7-0-6 | Traeger Park | 1917 | Sat 29-Aug-2020 7:10 PM |
| R15 | A | Sydney | 2.3 2.4 3.7 6.10 | 46 | 2.0 7.2 7.4 10.7 | 67 | L | -21 | 7-0-7 | Cazaly's Stadium | 3199 | Thu 03-Sep-2020 4:40 PM |
| R16 | H | Fremantle | 0.1 1.3 2.4 4.9 | 33 | 1.6 1.9 4.9 6.11 | 47 | L | -14 | 7-0-8 | Cazaly's Stadium | 3279 | Mon 07-Sep-2020 7:10 PM |
| R17 | A | Greater Western Sydney | 5.2 7.5 9.6 12.7 | 79 | 2.3 7.5 10.7 11.8 | 74 | W | 5 | 8-0-8 | Gabba | 1204 | Sat 12-Sep-2020 7:40 PM |
| R18 | A | Essendon | 1.4 6.6 7.7 10.8 | 68 | 2.0 2.2 3.3 7.7 | 49 | W | 19 | 9-0-8 | Carrara | 2175 | Sat 19-Sep-2020 2:10 PM |
| Totals | 155.133 | 1063 | 142.134 | 986 | P:17 W:9 D:0 L:8 | | 37405 | |
| Averages | 9.8 | 63 | 8.8 | 58 | | | 2877 | |
我在运行我的函数后组织的数据:
| Melbourne |
| 2021 |
| R1 | H | Fremantle | 4.4 7.6 9.8 11.14 | 80 | 0.4 3.8 6.9 8.10 | 58 | W | 22 | 1-0-0 | M.C.G. | 21365 | Sat 20-Mar-2021 1:45 PM |
| R2 | A | St Kilda | 3.4 6.7 9.13 12.19 | 91 | 3.2 6.3 8.4 11.7 | 73 | W | 18 | 2-0-0 | Docklands | 25903 | Sat 27-Mar-2021 7:25 PM |
| R3 | A | Greater Western Sydney | 2.3 6.5 10.7 15.12 | 102 | 5.1 7.1 8.1 11.2 | 68 | W | 34 | 3-0-0 | Manuka Oval | 9563 | Sun 04-Apr-2021 6:10 PM |
| R4 | H | Geelong | 2.4 6.8 9.9 12.13 | 85 | 1.1 3.3 8.3 9.6 | 60 | W | 25 | 4-0-0 | M.C.G. | 33728 | Sun 11-Apr-2021 3:20 PM |
| R5 | A | Hawthorn | 2.5 4.7 7.10 15.14 | 104 | 4.3 5.3 6.6 8.6 | 54 | W | 50 | 5-0-0 | M.C.G. | 36337 | Sun 18-Apr-2021 3:20 PM |
| R6 | H | Richmond | 2.2 6.6 10.8 12.10 | 82 | 3.3 3.7 5.8 6.12 | 48 | W | 34 | 6-0-0 | M.C.G. | 56418 | Sat 24-Apr-2021 7:25 PM |
| R7 | A | North Melbourne | 3.2 6.4 12.7 16.7 | 103 | 4.1 9.5 10.6 11.7 | 73 | W | 30 | 7-0-0 | Bellerive Oval | 6009 | Sun 02-May-2021 1:10 PM |
| R8 | H | Sydney | 3.1 5.6 8.6 10.7 | 67 | 3.3 3.7 6.8 8.10 | 58 | W | 9 | 8-0-0 | M.C.G. | 35567 | Sat 08-May-2021 7:25 PM |
| R9 | H | Carlton | 4.3 8.6 12.9 13.16 | 94 | 3.2 6.5 8.7 10.8 | 68 | W | 26 | 9-0-0 | M.C.G. | 38581 | Sun 16-May-2021 3:20 PM |
| R10 | A | Adelaide | 5.1 8.4 11.8 14.11 | 95 | 4.2 8.4 11.5 15.6 | 96 | L | -1 | 9-0-1 | Adelaide Oval | 31373 | Sat 22-May-2021 4:05 PM |
| R11 | A | Western Bulldogs | 6.5 9.6 12.8 13.9 | 87 | 2.2 6.5 6.8 8.11 | 59 | W | 28 | 10-0-1 | Docklands | | Fri 28-May-2021 7:50 PM |
| R12 | H | Brisbane Lions | 2.3 5.4 10.9 14.13 | 97 | 4.4 8.6 10.8 11.9 | 75 | W | 22 | 11-0-1 | Showground | 3772 | Fri 04-Jun-2021 7:50 PM |
| R13 | H | Collingwood | 2.2 4.4 8.6 9.9 | 63 | 1.4 6.8 8.11 11.14 | 80 | L | -17 | 11-0-2 | S.C.G. | 16453 | Mon 14-Jun-2021 3:20 PM |
| R15 | A | Essendon | 1.5 4.8 8.12 9.14 | 68 | 2.3 4.5 6.7 8.9 | 57 | W | 11 | 12-0-2 | M.C.G. | 19414 | Sat 26-Jun-2021 7:25 PM |
| R16 | H | Greater Western Sydney | 1.3 3.6 5.9 7.13 | 55 | 2.2 6.6 8.8 9.10 | 64 | L | -9 | 12-0-3 | M.C.G. | 16963 | Sat 03-Jul-2021 1:45 PM |
| R17 | A | Port Adelaide | 3.2 8.4 10.9 12.14 | 86 | 2.2 5.3 7.5 8.7 | 55 | W | 31 | 13-0-3 | Adelaide Oval | 30908 | Thu 08-Jul-2021 7:10 PM |
| 2020 |
| R1 | A | West Coast | 0.4 3.6 5.9 7.9 | 51 | 5.1 7.3 11.6 12.6 | 78 | L | -27 | 0-0-1 | Perth Stadium | | Sun 22-Mar-2020 3:40 PM |
| R2 | A | Carlton | 5.2 7.4 8.5 8.6 | 54 | 0.0 2.5 4.6 7.11 | 53 | W | 1 | 1-0-1 | Docklands | | Sat 13-Jun-2020 4:35 PM |
| R4 | H | Geelong | 0.1 2.3 3.5 6.8 | 44 | 2.1 2.2 6.4 7.5 | 47 | L | -3 | 1-0-2 | M.C.G. | | Sun 28-Jun-2020 3:35 PM |
| R5 | H | Richmond | 3.1 3.2 5.2 8.4 | 52 | 3.2 7.3 9.7 12.7 | 79 | L | -27 | 1-0-3 | M.C.G. | | Sun 05-Jul-2020 3:35 PM |
| R6 | H | Gold Coast | 2.1 6.5 8.8 12.8 | 80 | 3.2 5.4 8.5 9.9 | 63 | W | 17 | 2-0-3 | Showground | 250 | Sat 11-Jul-2020 6:05 PM |
| R7 | A | Hawthorn | 3.2 7.3 11.6 14.7 | 91 | 1.2 2.3 4.6 7.6 | 48 | W | 43 | 3-0-3 | Showground | 750 | Sun 19-Jul-2020 3:35 PM |
| R8 | H | Brisbane Lions | 2.2 3.3 4.6 7.7 | 49 | 2.2 5.5 7.6 7.11 | 53 | L | -4 | 3-0-4 | Carrara | 3011 | Sun 26-Jul-2020 6:10 PM |
| R9 | H | Port Adelaide | 0.2 1.3 3.5 4.8 | 32 | 3.2 6.6 10.9 12.11 | 83 | L | -51 | 3-0-5 | Gabba | 323 | Thu 30-Jul-2020 7:50 PM |
| R10 | A | Adelaide | 3.2 5.4 6.7 13.10 | 88 | 2.4 4.5 4.7 5.7 | 37 | W | 51 | 4-0-5 | Adelaide Oval | 12022 | Wed 05-Aug-2020 7:40 PM |
| R11 | H | North Melbourne | 1.4 4.7 7.8 13.14 | 92 | 3.2 4.2 5.4 5.5 | 35 | W | 57 | 5-0-5 | Adelaide Oval | 2172 | Sun 09-Aug-2020 5:40 PM |
| R12 | H | Collingwood | 3.3 10.4 12.4 16.4 | 100 | 1.1 5.2 6.6 6.8 | 44 | W | 56 | 6-0-5 | Gabba | 5338 | Sat 15-Aug-2020 5:10 PM |
| R13 | A | Western Bulldogs | 1.3 5.5 5.8 7.10 | 52 | 2.4 4.4 10.5 12.8 | 80 | L | -28 | 6-0-6 | Carrara | 1765 | Sat 22-Aug-2020 1:45 PM |
| R14 | H | St Kilda | 4.0 5.1 7.3 8.4 | 52 | 1.3 4.5 6.6 7.7 | 49 | W | 3 | 7-0-6 | Traeger Park | 1917 | Sat 29-Aug-2020 7:10 PM |
| R15 | A | Sydney | 2.3 2.4 3.7 6.10 | 46 | 2.0 7.2 7.4 10.7 | 67 | L | -21 | 7-0-7 | Cazaly's Stadium | 3199 | Thu 03-Sep-2020 4:40 PM |
| R16 | H | Fremantle | 0.1 1.3 2.4 4.9 | 33 | 1.6 1.9 4.9 6.11 | 47 | L | -14 | 7-0-8 | Cazaly's Stadium | 3279 | Mon 07-Sep-2020 7:10 PM |
| R17 | A | Greater Western Sydney | 5.2 7.5 9.6 12.7 | 79 | 2.3 7.5 10.7 11.8 | 74 | W | 5 | 8-0-8 | Gabba | 1204 | Sat 12-Sep-2020 7:40 PM |
| R18 | A | Essendon | 1.4 6.6 7.7 10.8 | 68 | 2.0 2.2 3.3 7.7 | 49 | W | 19 | 9-0-8 | Carrara | 2175 | Sat 19-Sep-2020 2:10 PM |
数据清理功能:
data_array = []
exclude = ["| Totals |", "| Averages |", "| Rnd |", "| --- |"]
def process_teams(input_files):
data_array = []
with open(input_files, 'r') as f:
for line in f:
line = line.strip()
fields = line.split("\t")
if not any(exclude in line for exclude in exclude):
data_array.append(fields)
return data_array
print(process_teams('melbourne.md'))
根据我的理解,我当前的函数生成一个数组:Melbourne
、2021
,然后是 | R1 | H | Fremantle | 4.4 7.6 9.8 11.14 | 80 | 0.4 3.8 6.9 8.10 | 58 | W | 22 | 1-0-0 | M.C.G. | 21365 | Sat 20-Mar-2021 1:45 PM |
的数组...下一个数组不包含 Melbourne
, 2021
.
我的函数应该 return 一个二维数组。该数组应如下所示:
[[Melbourne, 2021, R1, H, Fremantle, 4.4 7.6 9.8 11.14, 80, 0.4 3.8 6.9 8.10, 58, W , 22, 1-0-0, M.C.G, 21365, Sat 20-Mar-2021 1:45 PM ], [Melbourne, 2021, R2, A ,St Kilda, 3.4 6.7 9.13 12.19, 91 , 3.2 6.3 8.4 11.7 , 73 , W , 18 , 2-0-0 , Docklands , 25903 , Sat 27-Mar-2021 7:25 PM], ...]
感谢您的帮助。
如果你真的不想使用 numpy,你可以像这样修改你的原始函数来一次性完成:
def process_teams(input_files):
final_array = []
table_separation = False
current_city = ""
current_date = ""
tmp = []
exclude = ["| Totals |", "| Averages |", "| Rnd |", "| --- |"]
with open(input_files, 'r') as f:
for line in f:
line = line.strip()
fields = line.split("\t")
if "| --- |" in fields:
table_separation = True
elif table_separation:
table_separation = False
if fields[0].count('|') == 2:
tmp.append(fields[0])
else:
if len(tmp) == 1:
current_date = tmp[0]
elif len(tmp) == 2:
current_city = tmp[0]
current_date = tmp[1]
else:
print('Unknown')
exit()
tmp = []
else:
if not any(exclude in line for exclude in exclude):
final_array.append([current_city, current_date] + fields)
return final_array
print(process_teams('melbourne.md'))
这个returns:
[['| Melbourne |', '| 2021 |', '| R1 | H | Fremantle | 4.4 7.6 9.8 11.14 | 80 | 0.4 3.8 6.9 8.10 | 58 | W | 22 | 1-0-0 | M.C.G. | 21365 | Sat 20-Mar-2021 1:45 PM |'], ['| Melbourne |', '| 2021 |', '| R2 | A | St Kilda | 3.4 6.7 9.13 12.19 | 91 | 3.2 6.3 8.4 11.7 | 73 | W | 18 | 2-0-0 | Docklands | 25903 | Sat 27-Mar-2021 7:25 PM |'], ['| Melbourne |', '| 2021 |', '| R3 | A | Greater Western Sydney | 2.3 6.5 10.7 15.12 | 102 | 5.1 7.1 8.1 11.2 | 68 | W | 34 | 3-0-0 | Manuka Oval | 9563 | Sun 04-Apr-2021 6:10 PM |'], ['| Melbourne |', '| 2021 |', '| R4 | H | Geelong | 2.4 6.8 9.9 12.13 | 85 | 1.1 3.3 8.3 9.6 | 60 | W | 25 | 4-0-0 | M.C.G. | 33728 | Sun 11-Apr-2021 3:20 PM |'], ['| Melbourne |', '| 2021 |', '| R5 | A | Hawthorn | 2.5 4.7 7.10 15.14 | 104 | 4.3 5.3 6.6 8.6 | 54 | W | 50 | 5-0-0 | M.C.G. | 36337 | Sun 18-Apr-2021 3:20 PM |'], ['| Melbourne |', '| 2021 |', '| R6 | H | Richmond | 2.2 6.6 10.8 12.10 | 82 | 3.3 3.7 5.8 6.12 | 48 | W | 34 | 6-0-0 | M.C.G. | 56418 | Sat 24-Apr-2021 7:25 PM |'], ['| Melbourne |', '| 2021 |', '| R7 | A | North Melbourne | 3.2 6.4 12.7 16.7 | 103 | 4.1 9.5 10.6 11.7 | 73 | W | 30 | 7-0-0 | Bellerive Oval | 6009 | Sun 02-May-2021 1:10 PM |'], ['| Melbourne |', '| 2021 |', '| R8 | H | Sydney | 3.1 5.6 8.6 10.7 | 67 | 3.3 3.7 6.8 8.10 | 58 | W | 9 | 8-0-0 | M.C.G. | 35567 | Sat 08-May-2021 7:25 PM |'], ['| Melbourne |', '| 2021 |', '| R9 | H | Carlton | 4.3 8.6 12.9 13.16 | 94 | 3.2 6.5 8.7 10.8 | 68 | W | 26 | 9-0-0 | M.C.G. | 38581 | Sun 16-May-2021 3:20 PM |'], ['| Melbourne |', '| 2021 |', '| R10 | A | Adelaide | 5.1 8.4 11.8 14.11 | 95 | 4.2 8.4 11.5 15.6 | 96 | L | -1 | 9-0-1 | Adelaide Oval | 31373 | Sat 22-May-2021 4:05 PM |'], ['| Melbourne |', '| 2021 |', '| R11 | A | Western Bulldogs | 6.5 9.6 12.8 13.9 | 87 | 2.2 6.5 6.8 8.11 | 59 | W | 28 | 10-0-1 | Docklands | | Fri 28-May-2021 7:50 PM |'], ['| Melbourne |', '| 2021 |', '| R12 | H | Brisbane Lions | 2.3 5.4 10.9 14.13 | 97 | 4.4 8.6 10.8 11.9 | 75 | W | 22 | 11-0-1 | Showground | 3772 | Fri 04-Jun-2021 7:50 PM |'], ['| Melbourne |', '| 2021 |', '| R13 | H | Collingwood | 2.2 4.4 8.6 9.9 | 63 | 1.4 6.8 8.11 11.14 | 80 | L | -17 | 11-0-2 | S.C.G. | 16453 | Mon 14-Jun-2021 3:20 PM |'], ['| Melbourne |', '| 2021 |', '| R15 | A | Essendon | 1.5 4.8 8.12 9.14 | 68 | 2.3 4.5 6.7 8.9 | 57 | W | 11 | 12-0-2 | M.C.G. | 19414 | Sat 26-Jun-2021 7:25 PM |'], ['| Melbourne |', '| 2021 |', '| R16 | H | Greater Western Sydney | 1.3 3.6 5.9 7.13 | 55 | 2.2 6.6 8.8 9.10 | 64 | L | -9 | 12-0-3 | M.C.G. | 16963 | Sat 03-Jul-2021 1:45 PM |'], ['| Melbourne |', '| 2021 |', '| R17 | A | Port Adelaide | 3.2 8.4 10.9 12.14 | 86 | 2.2 5.3 7.5 8.7 | 55 | W | 31 | 13-0-3 | Adelaide Oval | 30908 | Thu 08-Jul-2021 7:10 PM |'], ['| Melbourne |', '| 2020 |', '| R1 | A | West Coast | 0.4 3.6 5.9 7.9 | 51 | 5.1 7.3 11.6 12.6 | 78 | L | -27 | 0-0-1 | Perth Stadium | | Sun 22-Mar-2020 3:40 PM |'], ['| Melbourne |', '| 2020 |', '| R2 | A | Carlton | 5.2 7.4 8.5 8.6 | 54 | 0.0 2.5 4.6 7.11 | 53 | W | 1 | 1-0-1 | Docklands | | Sat 13-Jun-2020 4:35 PM |'], ['| Melbourne |', '| 2020 |', '| R4 | H | Geelong | 0.1 2.3 3.5 6.8 | 44 | 2.1 2.2 6.4 7.5 | 47 | L | -3 | 1-0-2 | M.C.G. | | Sun 28-Jun-2020 3:35 PM |'], ['| Melbourne |', '| 2020 |', '| R5 | H | Richmond | 3.1 3.2 5.2 8.4 | 52 | 3.2 7.3 9.7 12.7 | 79 | L | -27 | 1-0-3 | M.C.G. | | Sun 05-Jul-2020 3:35 PM |'], ['| Melbourne |', '| 2020 |', '| R6 | H | Gold Coast | 2.1 6.5 8.8 12.8 | 80 | 3.2 5.4 8.5 9.9 | 63 | W | 17 | 2-0-3 | Showground | 250 | Sat 11-Jul-2020 6:05 PM |'], ['| Melbourne |', '| 2020 |', '| R7 | A | Hawthorn | 3.2 7.3 11.6 14.7 | 91 | 1.2 2.3 4.6 7.6 | 48 | W | 43 | 3-0-3 | Showground | 750 | Sun 19-Jul-2020 3:35 PM |'], ['| Melbourne |', '| 2020 |', '| R8 | H | Brisbane Lions | 2.2 3.3 4.6 7.7 | 49 | 2.2 5.5 7.6 7.11 | 53 | L | -4 | 3-0-4 | Carrara | 3011 | Sun 26-Jul-2020 6:10 PM |'], ['| Melbourne |', '| 2020 |', '| R9 | H | Port Adelaide | 0.2 1.3 3.5 4.8 | 32 | 3.2 6.6 10.9 12.11 | 83 | L | -51 | 3-0-5 | Gabba | 323 | Thu 30-Jul-2020 7:50 PM |'], ['| Melbourne |', '| 2020 |', '| R10 | A | Adelaide | 3.2 5.4 6.7 13.10 | 88 | 2.4 4.5 4.7 5.7 | 37 | W | 51 | 4-0-5 | Adelaide Oval | 12022 | Wed 05-Aug-2020 7:40 PM |'], ['| Melbourne |', '| 2020 |', '| R11 | H | North Melbourne | 1.4 4.7 7.8 13.14 | 92 | 3.2 4.2 5.4 5.5 | 35 | W | 57 | 5-0-5 | Adelaide Oval | 2172 | Sun 09-Aug-2020 5:40 PM |'], ['| Melbourne |', '| 2020 |', '| R12 | H | Collingwood | 3.3 10.4 12.4 16.4 | 100 | 1.1 5.2 6.6 6.8 | 44 | W | 56 | 6-0-5 | Gabba | 5338 | Sat 15-Aug-2020 5:10 PM |'], ['| Melbourne |', '| 2020 |', '| R13 | A | Western Bulldogs | 1.3 5.5 5.8 7.10 | 52 | 2.4 4.4 10.5 12.8 | 80 | L | -28 | 6-0-6 | Carrara | 1765 | Sat 22-Aug-2020 1:45 PM |'], ['| Melbourne |', '| 2020 |', '| R14 | H | St Kilda | 4.0 5.1 7.3 8.4 | 52 | 1.3 4.5 6.6 7.7 | 49 | W | 3 | 7-0-6 | Traeger Park | 1917 | Sat 29-Aug-2020 7:10 PM |'], ['| Melbourne |', '| 2020 |', "| R15 | A | Sydney | 2.3 2.4 3.7 6.10 | 46 | 2.0 7.2 7.4 10.7 | 67 | L | -21 | 7-0-7 | Cazaly's Stadium | 3199 | Thu 03-Sep-2020 4:40 PM |"], ['| Melbourne |', '| 2020 |', "| R16 | H | Fremantle | 0.1 1.3 2.4 4.9 | 33 | 1.6 1.9 4.9 6.11 | 47 | L | -14 | 7-0-8 | Cazaly's Stadium | 3279 | Mon 07-Sep-2020 7:10 PM |"], ['| Melbourne |', '| 2020 |', '| R17 | A | Greater Western Sydney | 5.2 7.5 9.6 12.7 | 79 | 2.3 7.5 10.7 11.8 | 74 | W | 5 | 8-0-8 | Gabba | 1204 | Sat 12-Sep-2020 7:40 PM |'], ['| Melbourne |', '| 2020 |', '| R18 | A | Essendon | 1.4 6.6 7.7 10.8 | 68 | 2.0 2.2 3.3 7.7 | 49 | W | 19 | 9-0-8 | Carrara | 2175 | Sat 19-Sep-2020 2:10 PM |']]
但如果我是你,我会使用字典结构来保存数据
def process_teams(input_files):
data_array = []
table_separation = False
current_city = ""
current_date = ""
tmp = []
finale_result = {}
exclude = ["| Totals |", "| Averages |", "| Rnd |", "| --- |"]
with open(input_files, 'r') as f:
for line in f:
line = line.strip()
fields = line.split("\t")
if "| --- |" in fields:
table_separation = True
elif table_separation:
table_separation = False
if fields[0].count('|') == 2:
tmp.append(fields[0])
else:
if len(tmp) == 1:
if current_date:
finale_result[current_city][current_date] = data_array
data_array = []
current_date = tmp[0]
elif len(tmp) == 2:
if current_city:
finale_result[current_city][current_date] = data_array
current_city = tmp[0]
current_date = tmp[1]
finale_result[current_city] = {current_date: []}
else:
print('Unknown')
exit()
tmp = []
else:
if not any(exclude in line for exclude in exclude):
data_array.append(fields)
finale_result[current_city][current_date] = data_array
return finale_result
print(process_teams('melbourne.md'))
给你这样的东西:
{
"| Melbourne |": {
"| 2021 |": [
[
"| R1 | H | Fremantle | 4.4 7.6 9.8 11.14 | 80 | 0.4 3.8 6.9 8.10 | 58 | W | 22 | 1-0-0 | M.C.G. | 21365 | Sat 20-Mar-2021 1:45 PM |"
],
[
"| R2 | A | St Kilda | 3.4 6.7 9.13 12.19 | 91 | 3.2 6.3 8.4 11.7 | 73 | W | 18 | 2-0-0 | Docklands | 25903 | Sat 27-Mar-2021 7:25 PM |"
],
[
"| R3 | A | Greater Western Sydney | 2.3 6.5 10.7 15.12 | 102 | 5.1 7.1 8.1 11.2 | 68 | W | 34 | 3-0-0 | Manuka Oval | 9563 | Sun 04-Apr-2021 6:10 PM |"
],
[
"| R4 | H | Geelong | 2.4 6.8 9.9 12.13 | 85 | 1.1 3.3 8.3 9.6 | 60 | W | 25 | 4-0-0 | M.C.G. | 33728 | Sun 11-Apr-2021 3:20 PM |"
],
[
"| R5 | A | Hawthorn | 2.5 4.7 7.10 15.14 | 104 | 4.3 5.3 6.6 8.6 | 54 | W | 50 | 5-0-0 | M.C.G. | 36337 | Sun 18-Apr-2021 3:20 PM |"
],
[
"| R6 | H | Richmond | 2.2 6.6 10.8 12.10 | 82 | 3.3 3.7 5.8 6.12 | 48 | W | 34 | 6-0-0 | M.C.G. | 56418 | Sat 24-Apr-2021 7:25 PM |"
],
[
"| R7 | A | North Melbourne | 3.2 6.4 12.7 16.7 | 103 | 4.1 9.5 10.6 11.7 | 73 | W | 30 | 7-0-0 | Bellerive Oval | 6009 | Sun 02-May-2021 1:10 PM |"
],
[
"| R8 | H | Sydney | 3.1 5.6 8.6 10.7 | 67 | 3.3 3.7 6.8 8.10 | 58 | W | 9 | 8-0-0 | M.C.G. | 35567 | Sat 08-May-2021 7:25 PM |"
],
[
"| R9 | H | Carlton | 4.3 8.6 12.9 13.16 | 94 | 3.2 6.5 8.7 10.8 | 68 | W | 26 | 9-0-0 | M.C.G. | 38581 | Sun 16-May-2021 3:20 PM |"
],
[
"| R10 | A | Adelaide | 5.1 8.4 11.8 14.11 | 95 | 4.2 8.4 11.5 15.6 | 96 | L | -1 | 9-0-1 | Adelaide Oval | 31373 | Sat 22-May-2021 4:05 PM |"
],
[
"| R11 | A | Western Bulldogs | 6.5 9.6 12.8 13.9 | 87 | 2.2 6.5 6.8 8.11 | 59 | W | 28 | 10-0-1 | Docklands | | Fri 28-May-2021 7:50 PM |"
],
[
"| R12 | H | Brisbane Lions | 2.3 5.4 10.9 14.13 | 97 | 4.4 8.6 10.8 11.9 | 75 | W | 22 | 11-0-1 | Showground | 3772 | Fri 04-Jun-2021 7:50 PM |"
],
[
"| R13 | H | Collingwood | 2.2 4.4 8.6 9.9 | 63 | 1.4 6.8 8.11 11.14 | 80 | L | -17 | 11-0-2 | S.C.G. | 16453 | Mon 14-Jun-2021 3:20 PM |"
],
[
"| R15 | A | Essendon | 1.5 4.8 8.12 9.14 | 68 | 2.3 4.5 6.7 8.9 | 57 | W | 11 | 12-0-2 | M.C.G. | 19414 | Sat 26-Jun-2021 7:25 PM |"
],
[
"| R16 | H | Greater Western Sydney | 1.3 3.6 5.9 7.13 | 55 | 2.2 6.6 8.8 9.10 | 64 | L | -9 | 12-0-3 | M.C.G. | 16963 | Sat 03-Jul-2021 1:45 PM |"
],
[
"| R17 | A | Port Adelaide | 3.2 8.4 10.9 12.14 | 86 | 2.2 5.3 7.5 8.7 | 55 | W | 31 | 13-0-3 | Adelaide Oval | 30908 | Thu 08-Jul-2021 7:10 PM |"
]
],
"| 2020 |": [
[
"| R1 | A | West Coast | 0.4 3.6 5.9 7.9 | 51 | 5.1 7.3 11.6 12.6 | 78 | L | -27 | 0-0-1 | Perth Stadium | | Sun 22-Mar-2020 3:40 PM |"
],
[
"| R2 | A | Carlton | 5.2 7.4 8.5 8.6 | 54 | 0.0 2.5 4.6 7.11 | 53 | W | 1 | 1-0-1 | Docklands | | Sat 13-Jun-2020 4:35 PM |"
],
[
"| R4 | H | Geelong | 0.1 2.3 3.5 6.8 | 44 | 2.1 2.2 6.4 7.5 | 47 | L | -3 | 1-0-2 | M.C.G. | | Sun 28-Jun-2020 3:35 PM |"
],
[
"| R5 | H | Richmond | 3.1 3.2 5.2 8.4 | 52 | 3.2 7.3 9.7 12.7 | 79 | L | -27 | 1-0-3 | M.C.G. | | Sun 05-Jul-2020 3:35 PM |"
],
[
"| R6 | H | Gold Coast | 2.1 6.5 8.8 12.8 | 80 | 3.2 5.4 8.5 9.9 | 63 | W | 17 | 2-0-3 | Showground | 250 | Sat 11-Jul-2020 6:05 PM |"
],
[
"| R7 | A | Hawthorn | 3.2 7.3 11.6 14.7 | 91 | 1.2 2.3 4.6 7.6 | 48 | W | 43 | 3-0-3 | Showground | 750 | Sun 19-Jul-2020 3:35 PM |"
],
[
"| R8 | H | Brisbane Lions | 2.2 3.3 4.6 7.7 | 49 | 2.2 5.5 7.6 7.11 | 53 | L | -4 | 3-0-4 | Carrara | 3011 | Sun 26-Jul-2020 6:10 PM |"
],
[
"| R9 | H | Port Adelaide | 0.2 1.3 3.5 4.8 | 32 | 3.2 6.6 10.9 12.11 | 83 | L | -51 | 3-0-5 | Gabba | 323 | Thu 30-Jul-2020 7:50 PM |"
],
[
"| R10 | A | Adelaide | 3.2 5.4 6.7 13.10 | 88 | 2.4 4.5 4.7 5.7 | 37 | W | 51 | 4-0-5 | Adelaide Oval | 12022 | Wed 05-Aug-2020 7:40 PM |"
],
[
"| R11 | H | North Melbourne | 1.4 4.7 7.8 13.14 | 92 | 3.2 4.2 5.4 5.5 | 35 | W | 57 | 5-0-5 | Adelaide Oval | 2172 | Sun 09-Aug-2020 5:40 PM |"
],
[
"| R12 | H | Collingwood | 3.3 10.4 12.4 16.4 | 100 | 1.1 5.2 6.6 6.8 | 44 | W | 56 | 6-0-5 | Gabba | 5338 | Sat 15-Aug-2020 5:10 PM |"
],
[
"| R13 | A | Western Bulldogs | 1.3 5.5 5.8 7.10 | 52 | 2.4 4.4 10.5 12.8 | 80 | L | -28 | 6-0-6 | Carrara | 1765 | Sat 22-Aug-2020 1:45 PM |"
],
[
"| R14 | H | St Kilda | 4.0 5.1 7.3 8.4 | 52 | 1.3 4.5 6.6 7.7 | 49 | W | 3 | 7-0-6 | Traeger Park | 1917 | Sat 29-Aug-2020 7:10 PM |"
],
[
"| R15 | A | Sydney | 2.3 2.4 3.7 6.10 | 46 | 2.0 7.2 7.4 10.7 | 67 | L | -21 | 7-0-7 | Cazaly's Stadium | 3199 | Thu 03-Sep-2020 4:40 PM |"
],
[
"| R16 | H | Fremantle | 0.1 1.3 2.4 4.9 | 33 | 1.6 1.9 4.9 6.11 | 47 | L | -14 | 7-0-8 | Cazaly's Stadium | 3279 | Mon 07-Sep-2020 7:10 PM |"
],
[
"| R17 | A | Greater Western Sydney | 5.2 7.5 9.6 12.7 | 79 | 2.3 7.5 10.7 11.8 | 74 | W | 5 | 8-0-8 | Gabba | 1204 | Sat 12-Sep-2020 7:40 PM |"
],
[
"| R18 | A | Essendon | 1.4 6.6 7.7 10.8 | 68 | 2.0 2.2 3.3 7.7 | 49 | W | 19 | 9-0-8 | Carrara | 2175 | Sat 19-Sep-2020 2:10 PM |"
]
]
}
}
这些解决方案根本没有优化,需要清理字典键中的数据。
我正在尝试从 markdown 文件在 python 中创建一个二维数组。 我目前有杂乱无章的数据,我已经小心地删除了不需要的字段。 我目前遇到的问题是,如何遍历我的数据并将其添加到数组中。
当前数据未组织(melbourne.md):
| --- |
| Melbourne |
| --- |
| 2021 |
| --- |
| Rnd | T | Opponent | Scoring | F | Scoring | A | R | M | W-D-L | Venue | Crowd | Date |
| R1 | H | Fremantle | 4.4 7.6 9.8 11.14 | 80 | 0.4 3.8 6.9 8.10 | 58 | W | 22 | 1-0-0 | M.C.G. | 21365 | Sat 20-Mar-2021 1:45 PM |
| R2 | A | St Kilda | 3.4 6.7 9.13 12.19 | 91 | 3.2 6.3 8.4 11.7 | 73 | W | 18 | 2-0-0 | Docklands | 25903 | Sat 27-Mar-2021 7:25 PM |
| R3 | A | Greater Western Sydney | 2.3 6.5 10.7 15.12 | 102 | 5.1 7.1 8.1 11.2 | 68 | W | 34 | 3-0-0 | Manuka Oval | 9563 | Sun 04-Apr-2021 6:10 PM |
| R4 | H | Geelong | 2.4 6.8 9.9 12.13 | 85 | 1.1 3.3 8.3 9.6 | 60 | W | 25 | 4-0-0 | M.C.G. | 33728 | Sun 11-Apr-2021 3:20 PM |
| R5 | A | Hawthorn | 2.5 4.7 7.10 15.14 | 104 | 4.3 5.3 6.6 8.6 | 54 | W | 50 | 5-0-0 | M.C.G. | 36337 | Sun 18-Apr-2021 3:20 PM |
| R6 | H | Richmond | 2.2 6.6 10.8 12.10 | 82 | 3.3 3.7 5.8 6.12 | 48 | W | 34 | 6-0-0 | M.C.G. | 56418 | Sat 24-Apr-2021 7:25 PM |
| R7 | A | North Melbourne | 3.2 6.4 12.7 16.7 | 103 | 4.1 9.5 10.6 11.7 | 73 | W | 30 | 7-0-0 | Bellerive Oval | 6009 | Sun 02-May-2021 1:10 PM |
| R8 | H | Sydney | 3.1 5.6 8.6 10.7 | 67 | 3.3 3.7 6.8 8.10 | 58 | W | 9 | 8-0-0 | M.C.G. | 35567 | Sat 08-May-2021 7:25 PM |
| R9 | H | Carlton | 4.3 8.6 12.9 13.16 | 94 | 3.2 6.5 8.7 10.8 | 68 | W | 26 | 9-0-0 | M.C.G. | 38581 | Sun 16-May-2021 3:20 PM |
| R10 | A | Adelaide | 5.1 8.4 11.8 14.11 | 95 | 4.2 8.4 11.5 15.6 | 96 | L | -1 | 9-0-1 | Adelaide Oval | 31373 | Sat 22-May-2021 4:05 PM |
| R11 | A | Western Bulldogs | 6.5 9.6 12.8 13.9 | 87 | 2.2 6.5 6.8 8.11 | 59 | W | 28 | 10-0-1 | Docklands | | Fri 28-May-2021 7:50 PM |
| R12 | H | Brisbane Lions | 2.3 5.4 10.9 14.13 | 97 | 4.4 8.6 10.8 11.9 | 75 | W | 22 | 11-0-1 | Showground | 3772 | Fri 04-Jun-2021 7:50 PM |
| R13 | H | Collingwood | 2.2 4.4 8.6 9.9 | 63 | 1.4 6.8 8.11 11.14 | 80 | L | -17 | 11-0-2 | S.C.G. | 16453 | Mon 14-Jun-2021 3:20 PM |
| R15 | A | Essendon | 1.5 4.8 8.12 9.14 | 68 | 2.3 4.5 6.7 8.9 | 57 | W | 11 | 12-0-2 | M.C.G. | 19414 | Sat 26-Jun-2021 7:25 PM |
| R16 | H | Greater Western Sydney | 1.3 3.6 5.9 7.13 | 55 | 2.2 6.6 8.8 9.10 | 64 | L | -9 | 12-0-3 | M.C.G. | 16963 | Sat 03-Jul-2021 1:45 PM |
| R17 | A | Port Adelaide | 3.2 8.4 10.9 12.14 | 86 | 2.2 5.3 7.5 8.7 | 55 | W | 31 | 13-0-3 | Adelaide Oval | 30908 | Thu 08-Jul-2021 7:10 PM |
| Totals | 194.195 | 1359 | 152.134 | 1046 | P:16 W:13 D:0 L:3 | | 382354 | |
| Averages | 12.12 | 85 | 10.8 | 65 | | | 25490 | |
| --- |
| 2020 |
| --- |
| Rnd | T | Opponent | Scoring | F | Scoring | A | R | M | W-D-L | Venue | Crowd | Date |
| R1 | A | West Coast | 0.4 3.6 5.9 7.9 | 51 | 5.1 7.3 11.6 12.6 | 78 | L | -27 | 0-0-1 | Perth Stadium | | Sun 22-Mar-2020 3:40 PM |
| R2 | A | Carlton | 5.2 7.4 8.5 8.6 | 54 | 0.0 2.5 4.6 7.11 | 53 | W | 1 | 1-0-1 | Docklands | | Sat 13-Jun-2020 4:35 PM |
| R4 | H | Geelong | 0.1 2.3 3.5 6.8 | 44 | 2.1 2.2 6.4 7.5 | 47 | L | -3 | 1-0-2 | M.C.G. | | Sun 28-Jun-2020 3:35 PM |
| R5 | H | Richmond | 3.1 3.2 5.2 8.4 | 52 | 3.2 7.3 9.7 12.7 | 79 | L | -27 | 1-0-3 | M.C.G. | | Sun 05-Jul-2020 3:35 PM |
| R6 | H | Gold Coast | 2.1 6.5 8.8 12.8 | 80 | 3.2 5.4 8.5 9.9 | 63 | W | 17 | 2-0-3 | Showground | 250 | Sat 11-Jul-2020 6:05 PM |
| R7 | A | Hawthorn | 3.2 7.3 11.6 14.7 | 91 | 1.2 2.3 4.6 7.6 | 48 | W | 43 | 3-0-3 | Showground | 750 | Sun 19-Jul-2020 3:35 PM |
| R8 | H | Brisbane Lions | 2.2 3.3 4.6 7.7 | 49 | 2.2 5.5 7.6 7.11 | 53 | L | -4 | 3-0-4 | Carrara | 3011 | Sun 26-Jul-2020 6:10 PM |
| R9 | H | Port Adelaide | 0.2 1.3 3.5 4.8 | 32 | 3.2 6.6 10.9 12.11 | 83 | L | -51 | 3-0-5 | Gabba | 323 | Thu 30-Jul-2020 7:50 PM |
| R10 | A | Adelaide | 3.2 5.4 6.7 13.10 | 88 | 2.4 4.5 4.7 5.7 | 37 | W | 51 | 4-0-5 | Adelaide Oval | 12022 | Wed 05-Aug-2020 7:40 PM |
| R11 | H | North Melbourne | 1.4 4.7 7.8 13.14 | 92 | 3.2 4.2 5.4 5.5 | 35 | W | 57 | 5-0-5 | Adelaide Oval | 2172 | Sun 09-Aug-2020 5:40 PM |
| R12 | H | Collingwood | 3.3 10.4 12.4 16.4 | 100 | 1.1 5.2 6.6 6.8 | 44 | W | 56 | 6-0-5 | Gabba | 5338 | Sat 15-Aug-2020 5:10 PM |
| R13 | A | Western Bulldogs | 1.3 5.5 5.8 7.10 | 52 | 2.4 4.4 10.5 12.8 | 80 | L | -28 | 6-0-6 | Carrara | 1765 | Sat 22-Aug-2020 1:45 PM |
| R14 | H | St Kilda | 4.0 5.1 7.3 8.4 | 52 | 1.3 4.5 6.6 7.7 | 49 | W | 3 | 7-0-6 | Traeger Park | 1917 | Sat 29-Aug-2020 7:10 PM |
| R15 | A | Sydney | 2.3 2.4 3.7 6.10 | 46 | 2.0 7.2 7.4 10.7 | 67 | L | -21 | 7-0-7 | Cazaly's Stadium | 3199 | Thu 03-Sep-2020 4:40 PM |
| R16 | H | Fremantle | 0.1 1.3 2.4 4.9 | 33 | 1.6 1.9 4.9 6.11 | 47 | L | -14 | 7-0-8 | Cazaly's Stadium | 3279 | Mon 07-Sep-2020 7:10 PM |
| R17 | A | Greater Western Sydney | 5.2 7.5 9.6 12.7 | 79 | 2.3 7.5 10.7 11.8 | 74 | W | 5 | 8-0-8 | Gabba | 1204 | Sat 12-Sep-2020 7:40 PM |
| R18 | A | Essendon | 1.4 6.6 7.7 10.8 | 68 | 2.0 2.2 3.3 7.7 | 49 | W | 19 | 9-0-8 | Carrara | 2175 | Sat 19-Sep-2020 2:10 PM |
| Totals | 155.133 | 1063 | 142.134 | 986 | P:17 W:9 D:0 L:8 | | 37405 | |
| Averages | 9.8 | 63 | 8.8 | 58 | | | 2877 | |
我在运行我的函数后组织的数据:
| Melbourne |
| 2021 |
| R1 | H | Fremantle | 4.4 7.6 9.8 11.14 | 80 | 0.4 3.8 6.9 8.10 | 58 | W | 22 | 1-0-0 | M.C.G. | 21365 | Sat 20-Mar-2021 1:45 PM |
| R2 | A | St Kilda | 3.4 6.7 9.13 12.19 | 91 | 3.2 6.3 8.4 11.7 | 73 | W | 18 | 2-0-0 | Docklands | 25903 | Sat 27-Mar-2021 7:25 PM |
| R3 | A | Greater Western Sydney | 2.3 6.5 10.7 15.12 | 102 | 5.1 7.1 8.1 11.2 | 68 | W | 34 | 3-0-0 | Manuka Oval | 9563 | Sun 04-Apr-2021 6:10 PM |
| R4 | H | Geelong | 2.4 6.8 9.9 12.13 | 85 | 1.1 3.3 8.3 9.6 | 60 | W | 25 | 4-0-0 | M.C.G. | 33728 | Sun 11-Apr-2021 3:20 PM |
| R5 | A | Hawthorn | 2.5 4.7 7.10 15.14 | 104 | 4.3 5.3 6.6 8.6 | 54 | W | 50 | 5-0-0 | M.C.G. | 36337 | Sun 18-Apr-2021 3:20 PM |
| R6 | H | Richmond | 2.2 6.6 10.8 12.10 | 82 | 3.3 3.7 5.8 6.12 | 48 | W | 34 | 6-0-0 | M.C.G. | 56418 | Sat 24-Apr-2021 7:25 PM |
| R7 | A | North Melbourne | 3.2 6.4 12.7 16.7 | 103 | 4.1 9.5 10.6 11.7 | 73 | W | 30 | 7-0-0 | Bellerive Oval | 6009 | Sun 02-May-2021 1:10 PM |
| R8 | H | Sydney | 3.1 5.6 8.6 10.7 | 67 | 3.3 3.7 6.8 8.10 | 58 | W | 9 | 8-0-0 | M.C.G. | 35567 | Sat 08-May-2021 7:25 PM |
| R9 | H | Carlton | 4.3 8.6 12.9 13.16 | 94 | 3.2 6.5 8.7 10.8 | 68 | W | 26 | 9-0-0 | M.C.G. | 38581 | Sun 16-May-2021 3:20 PM |
| R10 | A | Adelaide | 5.1 8.4 11.8 14.11 | 95 | 4.2 8.4 11.5 15.6 | 96 | L | -1 | 9-0-1 | Adelaide Oval | 31373 | Sat 22-May-2021 4:05 PM |
| R11 | A | Western Bulldogs | 6.5 9.6 12.8 13.9 | 87 | 2.2 6.5 6.8 8.11 | 59 | W | 28 | 10-0-1 | Docklands | | Fri 28-May-2021 7:50 PM |
| R12 | H | Brisbane Lions | 2.3 5.4 10.9 14.13 | 97 | 4.4 8.6 10.8 11.9 | 75 | W | 22 | 11-0-1 | Showground | 3772 | Fri 04-Jun-2021 7:50 PM |
| R13 | H | Collingwood | 2.2 4.4 8.6 9.9 | 63 | 1.4 6.8 8.11 11.14 | 80 | L | -17 | 11-0-2 | S.C.G. | 16453 | Mon 14-Jun-2021 3:20 PM |
| R15 | A | Essendon | 1.5 4.8 8.12 9.14 | 68 | 2.3 4.5 6.7 8.9 | 57 | W | 11 | 12-0-2 | M.C.G. | 19414 | Sat 26-Jun-2021 7:25 PM |
| R16 | H | Greater Western Sydney | 1.3 3.6 5.9 7.13 | 55 | 2.2 6.6 8.8 9.10 | 64 | L | -9 | 12-0-3 | M.C.G. | 16963 | Sat 03-Jul-2021 1:45 PM |
| R17 | A | Port Adelaide | 3.2 8.4 10.9 12.14 | 86 | 2.2 5.3 7.5 8.7 | 55 | W | 31 | 13-0-3 | Adelaide Oval | 30908 | Thu 08-Jul-2021 7:10 PM |
| 2020 |
| R1 | A | West Coast | 0.4 3.6 5.9 7.9 | 51 | 5.1 7.3 11.6 12.6 | 78 | L | -27 | 0-0-1 | Perth Stadium | | Sun 22-Mar-2020 3:40 PM |
| R2 | A | Carlton | 5.2 7.4 8.5 8.6 | 54 | 0.0 2.5 4.6 7.11 | 53 | W | 1 | 1-0-1 | Docklands | | Sat 13-Jun-2020 4:35 PM |
| R4 | H | Geelong | 0.1 2.3 3.5 6.8 | 44 | 2.1 2.2 6.4 7.5 | 47 | L | -3 | 1-0-2 | M.C.G. | | Sun 28-Jun-2020 3:35 PM |
| R5 | H | Richmond | 3.1 3.2 5.2 8.4 | 52 | 3.2 7.3 9.7 12.7 | 79 | L | -27 | 1-0-3 | M.C.G. | | Sun 05-Jul-2020 3:35 PM |
| R6 | H | Gold Coast | 2.1 6.5 8.8 12.8 | 80 | 3.2 5.4 8.5 9.9 | 63 | W | 17 | 2-0-3 | Showground | 250 | Sat 11-Jul-2020 6:05 PM |
| R7 | A | Hawthorn | 3.2 7.3 11.6 14.7 | 91 | 1.2 2.3 4.6 7.6 | 48 | W | 43 | 3-0-3 | Showground | 750 | Sun 19-Jul-2020 3:35 PM |
| R8 | H | Brisbane Lions | 2.2 3.3 4.6 7.7 | 49 | 2.2 5.5 7.6 7.11 | 53 | L | -4 | 3-0-4 | Carrara | 3011 | Sun 26-Jul-2020 6:10 PM |
| R9 | H | Port Adelaide | 0.2 1.3 3.5 4.8 | 32 | 3.2 6.6 10.9 12.11 | 83 | L | -51 | 3-0-5 | Gabba | 323 | Thu 30-Jul-2020 7:50 PM |
| R10 | A | Adelaide | 3.2 5.4 6.7 13.10 | 88 | 2.4 4.5 4.7 5.7 | 37 | W | 51 | 4-0-5 | Adelaide Oval | 12022 | Wed 05-Aug-2020 7:40 PM |
| R11 | H | North Melbourne | 1.4 4.7 7.8 13.14 | 92 | 3.2 4.2 5.4 5.5 | 35 | W | 57 | 5-0-5 | Adelaide Oval | 2172 | Sun 09-Aug-2020 5:40 PM |
| R12 | H | Collingwood | 3.3 10.4 12.4 16.4 | 100 | 1.1 5.2 6.6 6.8 | 44 | W | 56 | 6-0-5 | Gabba | 5338 | Sat 15-Aug-2020 5:10 PM |
| R13 | A | Western Bulldogs | 1.3 5.5 5.8 7.10 | 52 | 2.4 4.4 10.5 12.8 | 80 | L | -28 | 6-0-6 | Carrara | 1765 | Sat 22-Aug-2020 1:45 PM |
| R14 | H | St Kilda | 4.0 5.1 7.3 8.4 | 52 | 1.3 4.5 6.6 7.7 | 49 | W | 3 | 7-0-6 | Traeger Park | 1917 | Sat 29-Aug-2020 7:10 PM |
| R15 | A | Sydney | 2.3 2.4 3.7 6.10 | 46 | 2.0 7.2 7.4 10.7 | 67 | L | -21 | 7-0-7 | Cazaly's Stadium | 3199 | Thu 03-Sep-2020 4:40 PM |
| R16 | H | Fremantle | 0.1 1.3 2.4 4.9 | 33 | 1.6 1.9 4.9 6.11 | 47 | L | -14 | 7-0-8 | Cazaly's Stadium | 3279 | Mon 07-Sep-2020 7:10 PM |
| R17 | A | Greater Western Sydney | 5.2 7.5 9.6 12.7 | 79 | 2.3 7.5 10.7 11.8 | 74 | W | 5 | 8-0-8 | Gabba | 1204 | Sat 12-Sep-2020 7:40 PM |
| R18 | A | Essendon | 1.4 6.6 7.7 10.8 | 68 | 2.0 2.2 3.3 7.7 | 49 | W | 19 | 9-0-8 | Carrara | 2175 | Sat 19-Sep-2020 2:10 PM |
数据清理功能:
data_array = []
exclude = ["| Totals |", "| Averages |", "| Rnd |", "| --- |"]
def process_teams(input_files):
data_array = []
with open(input_files, 'r') as f:
for line in f:
line = line.strip()
fields = line.split("\t")
if not any(exclude in line for exclude in exclude):
data_array.append(fields)
return data_array
print(process_teams('melbourne.md'))
根据我的理解,我当前的函数生成一个数组:Melbourne
、2021
,然后是 | R1 | H | Fremantle | 4.4 7.6 9.8 11.14 | 80 | 0.4 3.8 6.9 8.10 | 58 | W | 22 | 1-0-0 | M.C.G. | 21365 | Sat 20-Mar-2021 1:45 PM |
的数组...下一个数组不包含 Melbourne
, 2021
.
我的函数应该 return 一个二维数组。该数组应如下所示:
[[Melbourne, 2021, R1, H, Fremantle, 4.4 7.6 9.8 11.14, 80, 0.4 3.8 6.9 8.10, 58, W , 22, 1-0-0, M.C.G, 21365, Sat 20-Mar-2021 1:45 PM ], [Melbourne, 2021, R2, A ,St Kilda, 3.4 6.7 9.13 12.19, 91 , 3.2 6.3 8.4 11.7 , 73 , W , 18 , 2-0-0 , Docklands , 25903 , Sat 27-Mar-2021 7:25 PM], ...]
感谢您的帮助。
如果你真的不想使用 numpy,你可以像这样修改你的原始函数来一次性完成:
def process_teams(input_files):
final_array = []
table_separation = False
current_city = ""
current_date = ""
tmp = []
exclude = ["| Totals |", "| Averages |", "| Rnd |", "| --- |"]
with open(input_files, 'r') as f:
for line in f:
line = line.strip()
fields = line.split("\t")
if "| --- |" in fields:
table_separation = True
elif table_separation:
table_separation = False
if fields[0].count('|') == 2:
tmp.append(fields[0])
else:
if len(tmp) == 1:
current_date = tmp[0]
elif len(tmp) == 2:
current_city = tmp[0]
current_date = tmp[1]
else:
print('Unknown')
exit()
tmp = []
else:
if not any(exclude in line for exclude in exclude):
final_array.append([current_city, current_date] + fields)
return final_array
print(process_teams('melbourne.md'))
这个returns:
[['| Melbourne |', '| 2021 |', '| R1 | H | Fremantle | 4.4 7.6 9.8 11.14 | 80 | 0.4 3.8 6.9 8.10 | 58 | W | 22 | 1-0-0 | M.C.G. | 21365 | Sat 20-Mar-2021 1:45 PM |'], ['| Melbourne |', '| 2021 |', '| R2 | A | St Kilda | 3.4 6.7 9.13 12.19 | 91 | 3.2 6.3 8.4 11.7 | 73 | W | 18 | 2-0-0 | Docklands | 25903 | Sat 27-Mar-2021 7:25 PM |'], ['| Melbourne |', '| 2021 |', '| R3 | A | Greater Western Sydney | 2.3 6.5 10.7 15.12 | 102 | 5.1 7.1 8.1 11.2 | 68 | W | 34 | 3-0-0 | Manuka Oval | 9563 | Sun 04-Apr-2021 6:10 PM |'], ['| Melbourne |', '| 2021 |', '| R4 | H | Geelong | 2.4 6.8 9.9 12.13 | 85 | 1.1 3.3 8.3 9.6 | 60 | W | 25 | 4-0-0 | M.C.G. | 33728 | Sun 11-Apr-2021 3:20 PM |'], ['| Melbourne |', '| 2021 |', '| R5 | A | Hawthorn | 2.5 4.7 7.10 15.14 | 104 | 4.3 5.3 6.6 8.6 | 54 | W | 50 | 5-0-0 | M.C.G. | 36337 | Sun 18-Apr-2021 3:20 PM |'], ['| Melbourne |', '| 2021 |', '| R6 | H | Richmond | 2.2 6.6 10.8 12.10 | 82 | 3.3 3.7 5.8 6.12 | 48 | W | 34 | 6-0-0 | M.C.G. | 56418 | Sat 24-Apr-2021 7:25 PM |'], ['| Melbourne |', '| 2021 |', '| R7 | A | North Melbourne | 3.2 6.4 12.7 16.7 | 103 | 4.1 9.5 10.6 11.7 | 73 | W | 30 | 7-0-0 | Bellerive Oval | 6009 | Sun 02-May-2021 1:10 PM |'], ['| Melbourne |', '| 2021 |', '| R8 | H | Sydney | 3.1 5.6 8.6 10.7 | 67 | 3.3 3.7 6.8 8.10 | 58 | W | 9 | 8-0-0 | M.C.G. | 35567 | Sat 08-May-2021 7:25 PM |'], ['| Melbourne |', '| 2021 |', '| R9 | H | Carlton | 4.3 8.6 12.9 13.16 | 94 | 3.2 6.5 8.7 10.8 | 68 | W | 26 | 9-0-0 | M.C.G. | 38581 | Sun 16-May-2021 3:20 PM |'], ['| Melbourne |', '| 2021 |', '| R10 | A | Adelaide | 5.1 8.4 11.8 14.11 | 95 | 4.2 8.4 11.5 15.6 | 96 | L | -1 | 9-0-1 | Adelaide Oval | 31373 | Sat 22-May-2021 4:05 PM |'], ['| Melbourne |', '| 2021 |', '| R11 | A | Western Bulldogs | 6.5 9.6 12.8 13.9 | 87 | 2.2 6.5 6.8 8.11 | 59 | W | 28 | 10-0-1 | Docklands | | Fri 28-May-2021 7:50 PM |'], ['| Melbourne |', '| 2021 |', '| R12 | H | Brisbane Lions | 2.3 5.4 10.9 14.13 | 97 | 4.4 8.6 10.8 11.9 | 75 | W | 22 | 11-0-1 | Showground | 3772 | Fri 04-Jun-2021 7:50 PM |'], ['| Melbourne |', '| 2021 |', '| R13 | H | Collingwood | 2.2 4.4 8.6 9.9 | 63 | 1.4 6.8 8.11 11.14 | 80 | L | -17 | 11-0-2 | S.C.G. | 16453 | Mon 14-Jun-2021 3:20 PM |'], ['| Melbourne |', '| 2021 |', '| R15 | A | Essendon | 1.5 4.8 8.12 9.14 | 68 | 2.3 4.5 6.7 8.9 | 57 | W | 11 | 12-0-2 | M.C.G. | 19414 | Sat 26-Jun-2021 7:25 PM |'], ['| Melbourne |', '| 2021 |', '| R16 | H | Greater Western Sydney | 1.3 3.6 5.9 7.13 | 55 | 2.2 6.6 8.8 9.10 | 64 | L | -9 | 12-0-3 | M.C.G. | 16963 | Sat 03-Jul-2021 1:45 PM |'], ['| Melbourne |', '| 2021 |', '| R17 | A | Port Adelaide | 3.2 8.4 10.9 12.14 | 86 | 2.2 5.3 7.5 8.7 | 55 | W | 31 | 13-0-3 | Adelaide Oval | 30908 | Thu 08-Jul-2021 7:10 PM |'], ['| Melbourne |', '| 2020 |', '| R1 | A | West Coast | 0.4 3.6 5.9 7.9 | 51 | 5.1 7.3 11.6 12.6 | 78 | L | -27 | 0-0-1 | Perth Stadium | | Sun 22-Mar-2020 3:40 PM |'], ['| Melbourne |', '| 2020 |', '| R2 | A | Carlton | 5.2 7.4 8.5 8.6 | 54 | 0.0 2.5 4.6 7.11 | 53 | W | 1 | 1-0-1 | Docklands | | Sat 13-Jun-2020 4:35 PM |'], ['| Melbourne |', '| 2020 |', '| R4 | H | Geelong | 0.1 2.3 3.5 6.8 | 44 | 2.1 2.2 6.4 7.5 | 47 | L | -3 | 1-0-2 | M.C.G. | | Sun 28-Jun-2020 3:35 PM |'], ['| Melbourne |', '| 2020 |', '| R5 | H | Richmond | 3.1 3.2 5.2 8.4 | 52 | 3.2 7.3 9.7 12.7 | 79 | L | -27 | 1-0-3 | M.C.G. | | Sun 05-Jul-2020 3:35 PM |'], ['| Melbourne |', '| 2020 |', '| R6 | H | Gold Coast | 2.1 6.5 8.8 12.8 | 80 | 3.2 5.4 8.5 9.9 | 63 | W | 17 | 2-0-3 | Showground | 250 | Sat 11-Jul-2020 6:05 PM |'], ['| Melbourne |', '| 2020 |', '| R7 | A | Hawthorn | 3.2 7.3 11.6 14.7 | 91 | 1.2 2.3 4.6 7.6 | 48 | W | 43 | 3-0-3 | Showground | 750 | Sun 19-Jul-2020 3:35 PM |'], ['| Melbourne |', '| 2020 |', '| R8 | H | Brisbane Lions | 2.2 3.3 4.6 7.7 | 49 | 2.2 5.5 7.6 7.11 | 53 | L | -4 | 3-0-4 | Carrara | 3011 | Sun 26-Jul-2020 6:10 PM |'], ['| Melbourne |', '| 2020 |', '| R9 | H | Port Adelaide | 0.2 1.3 3.5 4.8 | 32 | 3.2 6.6 10.9 12.11 | 83 | L | -51 | 3-0-5 | Gabba | 323 | Thu 30-Jul-2020 7:50 PM |'], ['| Melbourne |', '| 2020 |', '| R10 | A | Adelaide | 3.2 5.4 6.7 13.10 | 88 | 2.4 4.5 4.7 5.7 | 37 | W | 51 | 4-0-5 | Adelaide Oval | 12022 | Wed 05-Aug-2020 7:40 PM |'], ['| Melbourne |', '| 2020 |', '| R11 | H | North Melbourne | 1.4 4.7 7.8 13.14 | 92 | 3.2 4.2 5.4 5.5 | 35 | W | 57 | 5-0-5 | Adelaide Oval | 2172 | Sun 09-Aug-2020 5:40 PM |'], ['| Melbourne |', '| 2020 |', '| R12 | H | Collingwood | 3.3 10.4 12.4 16.4 | 100 | 1.1 5.2 6.6 6.8 | 44 | W | 56 | 6-0-5 | Gabba | 5338 | Sat 15-Aug-2020 5:10 PM |'], ['| Melbourne |', '| 2020 |', '| R13 | A | Western Bulldogs | 1.3 5.5 5.8 7.10 | 52 | 2.4 4.4 10.5 12.8 | 80 | L | -28 | 6-0-6 | Carrara | 1765 | Sat 22-Aug-2020 1:45 PM |'], ['| Melbourne |', '| 2020 |', '| R14 | H | St Kilda | 4.0 5.1 7.3 8.4 | 52 | 1.3 4.5 6.6 7.7 | 49 | W | 3 | 7-0-6 | Traeger Park | 1917 | Sat 29-Aug-2020 7:10 PM |'], ['| Melbourne |', '| 2020 |', "| R15 | A | Sydney | 2.3 2.4 3.7 6.10 | 46 | 2.0 7.2 7.4 10.7 | 67 | L | -21 | 7-0-7 | Cazaly's Stadium | 3199 | Thu 03-Sep-2020 4:40 PM |"], ['| Melbourne |', '| 2020 |', "| R16 | H | Fremantle | 0.1 1.3 2.4 4.9 | 33 | 1.6 1.9 4.9 6.11 | 47 | L | -14 | 7-0-8 | Cazaly's Stadium | 3279 | Mon 07-Sep-2020 7:10 PM |"], ['| Melbourne |', '| 2020 |', '| R17 | A | Greater Western Sydney | 5.2 7.5 9.6 12.7 | 79 | 2.3 7.5 10.7 11.8 | 74 | W | 5 | 8-0-8 | Gabba | 1204 | Sat 12-Sep-2020 7:40 PM |'], ['| Melbourne |', '| 2020 |', '| R18 | A | Essendon | 1.4 6.6 7.7 10.8 | 68 | 2.0 2.2 3.3 7.7 | 49 | W | 19 | 9-0-8 | Carrara | 2175 | Sat 19-Sep-2020 2:10 PM |']]
但如果我是你,我会使用字典结构来保存数据
def process_teams(input_files):
data_array = []
table_separation = False
current_city = ""
current_date = ""
tmp = []
finale_result = {}
exclude = ["| Totals |", "| Averages |", "| Rnd |", "| --- |"]
with open(input_files, 'r') as f:
for line in f:
line = line.strip()
fields = line.split("\t")
if "| --- |" in fields:
table_separation = True
elif table_separation:
table_separation = False
if fields[0].count('|') == 2:
tmp.append(fields[0])
else:
if len(tmp) == 1:
if current_date:
finale_result[current_city][current_date] = data_array
data_array = []
current_date = tmp[0]
elif len(tmp) == 2:
if current_city:
finale_result[current_city][current_date] = data_array
current_city = tmp[0]
current_date = tmp[1]
finale_result[current_city] = {current_date: []}
else:
print('Unknown')
exit()
tmp = []
else:
if not any(exclude in line for exclude in exclude):
data_array.append(fields)
finale_result[current_city][current_date] = data_array
return finale_result
print(process_teams('melbourne.md'))
给你这样的东西:
{
"| Melbourne |": {
"| 2021 |": [
[
"| R1 | H | Fremantle | 4.4 7.6 9.8 11.14 | 80 | 0.4 3.8 6.9 8.10 | 58 | W | 22 | 1-0-0 | M.C.G. | 21365 | Sat 20-Mar-2021 1:45 PM |"
],
[
"| R2 | A | St Kilda | 3.4 6.7 9.13 12.19 | 91 | 3.2 6.3 8.4 11.7 | 73 | W | 18 | 2-0-0 | Docklands | 25903 | Sat 27-Mar-2021 7:25 PM |"
],
[
"| R3 | A | Greater Western Sydney | 2.3 6.5 10.7 15.12 | 102 | 5.1 7.1 8.1 11.2 | 68 | W | 34 | 3-0-0 | Manuka Oval | 9563 | Sun 04-Apr-2021 6:10 PM |"
],
[
"| R4 | H | Geelong | 2.4 6.8 9.9 12.13 | 85 | 1.1 3.3 8.3 9.6 | 60 | W | 25 | 4-0-0 | M.C.G. | 33728 | Sun 11-Apr-2021 3:20 PM |"
],
[
"| R5 | A | Hawthorn | 2.5 4.7 7.10 15.14 | 104 | 4.3 5.3 6.6 8.6 | 54 | W | 50 | 5-0-0 | M.C.G. | 36337 | Sun 18-Apr-2021 3:20 PM |"
],
[
"| R6 | H | Richmond | 2.2 6.6 10.8 12.10 | 82 | 3.3 3.7 5.8 6.12 | 48 | W | 34 | 6-0-0 | M.C.G. | 56418 | Sat 24-Apr-2021 7:25 PM |"
],
[
"| R7 | A | North Melbourne | 3.2 6.4 12.7 16.7 | 103 | 4.1 9.5 10.6 11.7 | 73 | W | 30 | 7-0-0 | Bellerive Oval | 6009 | Sun 02-May-2021 1:10 PM |"
],
[
"| R8 | H | Sydney | 3.1 5.6 8.6 10.7 | 67 | 3.3 3.7 6.8 8.10 | 58 | W | 9 | 8-0-0 | M.C.G. | 35567 | Sat 08-May-2021 7:25 PM |"
],
[
"| R9 | H | Carlton | 4.3 8.6 12.9 13.16 | 94 | 3.2 6.5 8.7 10.8 | 68 | W | 26 | 9-0-0 | M.C.G. | 38581 | Sun 16-May-2021 3:20 PM |"
],
[
"| R10 | A | Adelaide | 5.1 8.4 11.8 14.11 | 95 | 4.2 8.4 11.5 15.6 | 96 | L | -1 | 9-0-1 | Adelaide Oval | 31373 | Sat 22-May-2021 4:05 PM |"
],
[
"| R11 | A | Western Bulldogs | 6.5 9.6 12.8 13.9 | 87 | 2.2 6.5 6.8 8.11 | 59 | W | 28 | 10-0-1 | Docklands | | Fri 28-May-2021 7:50 PM |"
],
[
"| R12 | H | Brisbane Lions | 2.3 5.4 10.9 14.13 | 97 | 4.4 8.6 10.8 11.9 | 75 | W | 22 | 11-0-1 | Showground | 3772 | Fri 04-Jun-2021 7:50 PM |"
],
[
"| R13 | H | Collingwood | 2.2 4.4 8.6 9.9 | 63 | 1.4 6.8 8.11 11.14 | 80 | L | -17 | 11-0-2 | S.C.G. | 16453 | Mon 14-Jun-2021 3:20 PM |"
],
[
"| R15 | A | Essendon | 1.5 4.8 8.12 9.14 | 68 | 2.3 4.5 6.7 8.9 | 57 | W | 11 | 12-0-2 | M.C.G. | 19414 | Sat 26-Jun-2021 7:25 PM |"
],
[
"| R16 | H | Greater Western Sydney | 1.3 3.6 5.9 7.13 | 55 | 2.2 6.6 8.8 9.10 | 64 | L | -9 | 12-0-3 | M.C.G. | 16963 | Sat 03-Jul-2021 1:45 PM |"
],
[
"| R17 | A | Port Adelaide | 3.2 8.4 10.9 12.14 | 86 | 2.2 5.3 7.5 8.7 | 55 | W | 31 | 13-0-3 | Adelaide Oval | 30908 | Thu 08-Jul-2021 7:10 PM |"
]
],
"| 2020 |": [
[
"| R1 | A | West Coast | 0.4 3.6 5.9 7.9 | 51 | 5.1 7.3 11.6 12.6 | 78 | L | -27 | 0-0-1 | Perth Stadium | | Sun 22-Mar-2020 3:40 PM |"
],
[
"| R2 | A | Carlton | 5.2 7.4 8.5 8.6 | 54 | 0.0 2.5 4.6 7.11 | 53 | W | 1 | 1-0-1 | Docklands | | Sat 13-Jun-2020 4:35 PM |"
],
[
"| R4 | H | Geelong | 0.1 2.3 3.5 6.8 | 44 | 2.1 2.2 6.4 7.5 | 47 | L | -3 | 1-0-2 | M.C.G. | | Sun 28-Jun-2020 3:35 PM |"
],
[
"| R5 | H | Richmond | 3.1 3.2 5.2 8.4 | 52 | 3.2 7.3 9.7 12.7 | 79 | L | -27 | 1-0-3 | M.C.G. | | Sun 05-Jul-2020 3:35 PM |"
],
[
"| R6 | H | Gold Coast | 2.1 6.5 8.8 12.8 | 80 | 3.2 5.4 8.5 9.9 | 63 | W | 17 | 2-0-3 | Showground | 250 | Sat 11-Jul-2020 6:05 PM |"
],
[
"| R7 | A | Hawthorn | 3.2 7.3 11.6 14.7 | 91 | 1.2 2.3 4.6 7.6 | 48 | W | 43 | 3-0-3 | Showground | 750 | Sun 19-Jul-2020 3:35 PM |"
],
[
"| R8 | H | Brisbane Lions | 2.2 3.3 4.6 7.7 | 49 | 2.2 5.5 7.6 7.11 | 53 | L | -4 | 3-0-4 | Carrara | 3011 | Sun 26-Jul-2020 6:10 PM |"
],
[
"| R9 | H | Port Adelaide | 0.2 1.3 3.5 4.8 | 32 | 3.2 6.6 10.9 12.11 | 83 | L | -51 | 3-0-5 | Gabba | 323 | Thu 30-Jul-2020 7:50 PM |"
],
[
"| R10 | A | Adelaide | 3.2 5.4 6.7 13.10 | 88 | 2.4 4.5 4.7 5.7 | 37 | W | 51 | 4-0-5 | Adelaide Oval | 12022 | Wed 05-Aug-2020 7:40 PM |"
],
[
"| R11 | H | North Melbourne | 1.4 4.7 7.8 13.14 | 92 | 3.2 4.2 5.4 5.5 | 35 | W | 57 | 5-0-5 | Adelaide Oval | 2172 | Sun 09-Aug-2020 5:40 PM |"
],
[
"| R12 | H | Collingwood | 3.3 10.4 12.4 16.4 | 100 | 1.1 5.2 6.6 6.8 | 44 | W | 56 | 6-0-5 | Gabba | 5338 | Sat 15-Aug-2020 5:10 PM |"
],
[
"| R13 | A | Western Bulldogs | 1.3 5.5 5.8 7.10 | 52 | 2.4 4.4 10.5 12.8 | 80 | L | -28 | 6-0-6 | Carrara | 1765 | Sat 22-Aug-2020 1:45 PM |"
],
[
"| R14 | H | St Kilda | 4.0 5.1 7.3 8.4 | 52 | 1.3 4.5 6.6 7.7 | 49 | W | 3 | 7-0-6 | Traeger Park | 1917 | Sat 29-Aug-2020 7:10 PM |"
],
[
"| R15 | A | Sydney | 2.3 2.4 3.7 6.10 | 46 | 2.0 7.2 7.4 10.7 | 67 | L | -21 | 7-0-7 | Cazaly's Stadium | 3199 | Thu 03-Sep-2020 4:40 PM |"
],
[
"| R16 | H | Fremantle | 0.1 1.3 2.4 4.9 | 33 | 1.6 1.9 4.9 6.11 | 47 | L | -14 | 7-0-8 | Cazaly's Stadium | 3279 | Mon 07-Sep-2020 7:10 PM |"
],
[
"| R17 | A | Greater Western Sydney | 5.2 7.5 9.6 12.7 | 79 | 2.3 7.5 10.7 11.8 | 74 | W | 5 | 8-0-8 | Gabba | 1204 | Sat 12-Sep-2020 7:40 PM |"
],
[
"| R18 | A | Essendon | 1.4 6.6 7.7 10.8 | 68 | 2.0 2.2 3.3 7.7 | 49 | W | 19 | 9-0-8 | Carrara | 2175 | Sat 19-Sep-2020 2:10 PM |"
]
]
}
}
这些解决方案根本没有优化,需要清理字典键中的数据。