Я видел варианты этого вопроса, задаваемые миллион раз, но почему-то не могу найти решение для себя.
( PIN 700W_start_stop( STS_PROP( POS_X 1233 )( POS_Y 456 )( BIT_CNT 1 )( CNCT_ID 7071869 ))(USR_PROP( VAR 1( Var_typ -1 )(AssocCd H12 )( termLBLttt +S)( Anorm 011.1)(Amax 1.0))
Как мне вытащить число после 'POS_X'?то есть 1233 Я думал, что понял это с помощью регулярных выражений, потому что это кажется очень простым.Но это не работает (пойди разберись).
import re
import pandas as pd
df_pin = pd.DataFrame(columns =
['ID','Pos_x','Pos_y','conn_ID','Association_Code','Anorm','Amax'])
with open(r'C:\Users\user1\Documents\Python Scripts\test1.txt', 'r',
encoding="ISO-8859-1") as txt:
for line in txt:
data = txt.read()
line = line.strip()
x = re.search(r'POS_X (\d+)', data)
df_pin = df_pin.append({'POS_X' : x, ignore_index = True}
print (x)
Разве это не должно дать мне цифры после 'POS_X', а затем добавить его в соответствующий столбец в моем фрейме данных ??Там может быть несколько вхождений 'POS_X ###' в одной строке, я хочу найти только первый.Что если я захочу сделать то же самое для «PIN» и извлечь «700W_start_stop»?