Mam kolumnę w Pandas Dataframe, który zawiera niepełną tablicę JSON, jak dane takie jak dane. Dla pierwszego pierwszego rzędu tej kolumny jest jak [{"Nazwa": "A", "Typ": "Jedzenie", "Serwis": "XYZ_ABC"}, {"Nazwa": "B", "Typ ":" Napoje "," Serwis ":" Pqrr_ghi "}, {" Nazwa ":" C "," Typ "

Chcę wyodrębnić wartości xyz_abc i pqrr_ghi podane po usłudze w danych. Jak mogę to zrobić za pomocą Regex w Pythonie?

-1
Shreya Awasthi 17 kwiecień 2021, 07:50

1 odpowiedź

Najlepsza odpowiedź
import re

df['service'] = df['col'].apply(lambda x: re.findall(r'(?<=service")\s*:\s*"(.+?)"', x))
print(df)

                                                 col             service
0  [{"name":"A","type":"Food","service":"xyz_abc"...  [xyz_abc, pqr_ghi]
1
Ynjxsjmh 17 kwiecień 2021, 05:13