在数据帧 pandas 中分割对象而不使用分隔符

问题描述 投票:0回答:1

我正在学习Python,现在我想分割一个不带分隔符的字符串。 字符串位于数据框列 pandas 中,我想将字符串分为多个列。

最好的方法是什么?

数据:

“Naam:TEST B.V. Omschrijving:Factuur 20-01-2024,klantnummer 1234567890。IBAN:NL41INGB0000467598 Kenmerk:000011292292967 Machtiging ID:M10024815057 Incasant ID:NL39KPN27 1247010001 Doorlopende incasso Valutadatum: 24-01-2024"

期望输出:

纳姆 Omschrijving 国际银行账号 肯默克 MachtigingID IncassantID 评估数据
测试 B.V. 生产日期 20-01-2024,klantnummer 1234567890 NL41INGB0000467598 000011292292967 M10024815057 NL39KPN271247010001 2024年1月24日
python pandas string dataframe split
1个回答
0
投票

使用正则表达式提取

:
之前的单词作为键(没有阴影,除非以
 ID
结尾:

import re

data = "Naam: TEST B.V. Omschrijving: Factuur 20-01-2024, klantnummer 1234567890. IBAN: NL41INGB0000467598 Kenmerk: 000011292292967 Machtiging ID: M10024815057 Incassant ID: NL39KPN271247010001 Doorlopende incasso Valutadatum: 24-01-2024"

out = pd.DataFrame([dict(re.findall(r'(\S+(?: ID)?): ([^:]+?) *(?=$|\b[^:\s]+(?: ID)?:)', data))])

输出:

        Naam                                 Omschrijving                IBAN          Kenmerk Machtiging ID                             Incassant ID Valutadatum
0  TEST B.V.  Factuur 20-01-2024, klantnummer 1234567890.  NL41INGB0000467598  000011292292967  M10024815057  NL39KPN271247010001 Doorlopende incasso  24-01-2024
© www.soinside.com 2019 - 2024. All rights reserved.