我想用用空行分开的扑克手循环遍历文本文件。 文本文件如下所示:
PokerStars扑克手#172075855663:无限注德州扑克($ 0.50 / $ 1.00 USD)- 2017/06/22 0:34:27 CET [2017/06/21 18:34:27 ET]表'Parysatis' 6人座#6是按钮座位1:AndrVik89(筹码$ 114.27) 2:bumpandrun5(筹码112.66美元)座位3:钢制耐克(筹码100美元) 座位4:Johnii141(筹码$ 105.20)座位5:PapaGun5286($ 194.78) 席位6:VexVictor(筹码180.95美元)AndrVik89:小职位 盲注$ 0.50 bumpandrun5:张贴大盲注$ 1 *洞孔卡 交易给Johnii141 [Qd Kd] steelNike:弃牌Johnii141:筹集$ 1.80至$ 2.80 PapaGun5286:弃牌VexVictor:弃牌 AndrVik89:弃牌后碰跑5:弃牌未收回下注($ 1.80)返回 Johnii141 Johnii141从彩池中收集了$ 2.50 Johnii141:未显示 手 摘要* 总底池$ 2.50 |抽佣$ 0座位1:AndrVik89(小盲注)在翻牌前折叠座位2:bumpandrun5(大盲注)被折叠 翻牌圈3之前:钢制耐克在翻牌圈之前折叠(没有下注)座位4: Johnii141收集($ 2.50)座位5:PapaGun5286在翻牌前折叠 (没有下注)座位6:VexVictor(按钮)在翻牌圈(没有 下注)
PokerStars扑克手#172076017834:无限注德州扑克($ 0.50 / $ 1.00 USD)- 2017/06/22 0:38:49 CET [2017/06/21 18:38:49 ET]表'Parysatis' 6人座5号座位是按钮1:AndrVik89(筹码$ 122.85) 2:Bumpandrun5(筹码141.38美元)席位4:Johnii141(筹码102.20美元) 座位5:PapaGun5286(筹码166.14美元)座位6:VexVictor (筹码$ 171.45)VexVictor:小盲注$ 0.50 AndrVik89: 发布大盲注$ 1 l xFlake l: *洞牌 发给Johnii141 [9h Ks] umpandrun5:买入$ 1 Johnii141:弃牌PapaGun5286:募集$ 3.15至$ 4.15 VexVictor:弃牌 AndrVik89:折叠bumpandrun5:调用$ 3.15 FLOP [2h 3d Jd] umpandrun5:下注$ 4.66 PapaGun5286:跟注$ 4.66 转动 [2h 3d Jd] [5h] umpandrun5:下注$ 9.08 PapaGun5286:下注$ 9.08 河牌 [2h 3d Jd 5h] [2s] umpandrun5:支票PapaGun5286:下注$ 10umpandrun5:弃牌($ 10)返回 PapaGun5286从锅中收集了35.42美元PapaGun5286:没有 伸出手 摘要* 总底池$ 37.28 | Rake $ 1.86棋盘[2h 3d Jd 5h 2s]座位1:AndrVik89(大盲注)在翻牌前折叠座位2:bumpandrun5 在River Seat 4上弃牌:Johnii141在翻牌前弃牌(没赌) 座位5:PapaGun5286(按钮)收集($ 35.42)座位6:VexVictor (小盲注)在翻牌圈前折叠
*总结* 之后-翻牌(没下注),我们有另一手牌。
我想做的是从第一手获得我需要的所有信息,然后转到另一手获得相同的信息。手被空线分开。 然后将其放入数据框。
我已经做了什么:
file = open(r'C:\Users\AdamPer\Desktop\Magisterka\2rece.txt','r')
linia = [i.rstrip('\n') for i in file]
import re
pattern_hand = re.compile(r'#(\d+):')
pattern_sb = re.compile('\$(\d+.\d+)/')
pattern_table = re.compile('(Table)\s\'(\w+)(\')')
pattern_seat = re.compile('Seat\s(\d):')
Hand_id = []
sb = []
table = []
nr_of_player = []
for i in range(len(linia)):
matches_hand = pattern_hand.finditer(linia[i])
for match_hand in matches_hand:
Hand_id.append(match_hand.group(1))
matches_sb = pattern_sb.finditer(linia[i])
for match_sb in matches_sb:
sb.append(match_sb.group(1))
matches_table = pattern_table.finditer(linia[i])
for match_table in matches_table:
table.append(match_table.group(2))
matches_nr_of_player = pattern_seat.finditer(linia[i])
for match_nr_of_player in matches_nr_of_player:
nr_of_player.append(match_nr_of_player.group(1))
print(Hand_id)
print(sb)
print(table)
print(nr_of_player)
nr_of_player列表不正确。我需要检查一下这些线之间球员占据了多少个席位,并将其存储为数字。 行:“桌子'Parysatis'6人座#6是按钮” 和 行:“ AndrVik89:发布小盲注$ 0.50”
我的目标是获取数据框like this 我有成千上万个这样的文本文件。