我有下面的txt文件
1a 2
3b45
b 6
c78
我想阅读并提取下面的起始位置
structure=
start length
1 1
2 1
3 2
我想阅读并提取下面的数据框
1 a 2
3 b 45
nan b 6
nan c 78
然后,提取如下(key =第二列,其中包含'b')
3 b 4 5
nan b nan 6
并回到原来的
3b45
b 6
我试过'read_fwf(widths = structure.length) 但我无法弄清楚下一步。
如何阅读,提取和合并?
答案 0 :(得分:1)
import pandas as pd
df = pd.read_table('sample.txt', header=None)
print(df)
df = df[0].str.extract('(\d*)(\D*\s*)(\d*)', expand=True).applymap(lambda x: x.strip())
print(df)
df = df[df[1].str.contains('b')]
print(df)
print(df[0] + df[1] + df[2])
0
0 1a 2
1 3b45
2 b 6
3 c78
0 1 2
0 1 a 2
1 3 b 45
2 b 6
3 c 78
0 1 2
1 3 b 45
2 b 6
1 3b45
2 b6