【发布时间】:2020-10-07 15:43:42
【问题描述】:
我想将数据框从单列拆分为三列Sample input and output [(Col1=固定长度),(Col2=动态长度),(Col3=剩余部分)]
import re
import pandas as pd
text='Raw Data'
out = re.findall(r"RIY-[A-Z]{6}-\d{6}\.\d{6,8}\.\d{5,7}", text)
df = pd.DataFrame(out, columns = ["RIY"])
df["col1"] = df.RIY.str[0:15]
df["col2"] = df.RIY.str[15:24]# need to split based on criteria (find next '.' less 2 char
df["col3"] = df.RIY.str[24:] # remaining all text after splitting 2 column
#Output
[1]: https://i.stack.imgur.com/Lupcd.png
我尝试使用固定长度(Roy2012 的解决方案)进行拆分,该长度只能完美运行,对于第一部分 [0:15],其余两列的长度会有所不同。我想通过找到第二个点('.')少(-2)(以避免删除46)来拆分我想通过(找到第二个点(.)-2(以避免删除46)然后拆分来实现。
【问题讨论】: