我想从我用regex.findinter生成的对象访问“ span”和“ match”数据。但是我找不到如何将对象结构转换为pandas df的方法,因此我可以更轻松地对其进行操作。
我可以遍历对象以打印数据。但是regex.findinter文档没有说明如何访问数据。我能找到的最好的页面是https://docs.python.org/2.0/lib/match-objects.html
我尝试仅将行追加到熊猫df,但没有运气。参见代码。它给出了错误: TypeError:无法连接类型为“”的对象;仅pd.Series,pd.DataFrame和pd.Panel(已弃用)objs有效
import re
import pandas as pd
def find_rez(string):
regex = re.compile(r'\s\d{10}\s')
return(regex.finditer(string))
#open file with text data
file = open('prepaid_transactions_test2.txt')
text = file.read()
#get regex object with locations of all matches.
rez_mo = find_rez(text)
#Create empty df with span and match columns.
df = pd.DataFrame(columns=['span','match'])
#Append each row from object to pandas df. NOT WORKING.
for i in rez_mo:
df.append(i)
我想拥有一个以range&match为列的pandas df。但是我无法转换看起来似乎的类型。
答案 0 :(得分:0)
我刚刚找到了解决方案。可能不是最优雅,但是....有效。
for i in rez_mo:
df.loc[len(df)]=[i.start()],[i.group()]