1 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
以下代碼ENC_NAME從標(biāo)題行(帶=符號)和所有其他行的最后一個(gè)值中獲取,假設(shè)這些行是按所需順序排列的。然后我們分配行號和列號以及數(shù)據(jù)透視表。
優(yōu)點(diǎn)是它不依賴于數(shù)據(jù)中的空格數(shù)。
df = pd.read_csv('file.txt', sep='\n',header=None, names=['col1'])
df['row'] = df.col1.str.contains('===').cumsum()
df['col'] = df.groupby('row').cumcount()
df['value'] = df.col1.str.extract('=== (.*) ===')
m = df.value.isna()
df.loc[m,'value'] = df.loc[m,'col1'].str.extract('(\d+\.\d+)$').values
df = df.pivot('row','col','value')
df.columns = ['ENC_NAME', 'OA_VERSION', 'VC_ACTIVE', 'VC_STDN']
結(jié)果:
ENC_NAME OA_VERSION VC_ACTIVE VC_STDN
row
1 enc1001 4.85 4.50 4.50
2 enc1002 4.85 4.50 4.50
3 enc1003 4.85 4.50 4.50
4 enc1004 4.85 4.50 4.50
5 enc1005 4.85 4.50 4.50
6 enc1006 4.85 4.50 4.50
7 enc1007 4.85 4.50 4.50
8 enc1008 4.85 4.40 4.40
9 enc1009 4.85 4.50 4.50
10 enc2001 4.85 4.50 4.50
11 enc2002 4.85 4.50 4.50
12 enc2003 4.85 4.50 4.50
13 enc2004 4.85 4.50 4.50
14 enc2005 4.85 4.50 4.50
15 enc2006 4.85 4.50 4.50
16 enc2007 4.85 4.50 4.50
17 enc2008 4.85 4.50 4.50
18 enc2009 4.85 4.50 4.50
19 enc2011 4.85 4.50 4.50
20 enc2013 4.85 4.50 4.50
21 enc3020 4.85 4.41 4.41
22 enc3021 4.85 4.41 4.41
23 enc3022 4.85 4.41 4.41
24 enc3026 4.85 4.45 4.45
25 enc3027 4.85 4.50 4.50
26 enc3028 4.85 4.50 4.50
27 enc3029 4.85 4.50 4.50
28 enc3030 4.85 4.50 4.50
29 enc3031 4.85 4.50 4.50
30 enc4021 4.85 4.41 4.41
31 enc4023 4.85 4.41 4.41
32 enc4024 4.85 4.41 4.41
33 enc4025 4.85 4.41 4.41
34 enc4026 4.85 4.50 4.50
35 enc4027 4.85 4.50 4.50
36 enc4028 4.85 4.50 4.50
37 enc4029 4.85 4.50 4.50
38 enc4030 4.85 4.50 4.50
39 enc4031 4.85 4.50 4.50
40 enc4032 4.85 4.50 4.50
41 enc4033 4.85 4.50 4.50
42 enc4034 4.85 4.50 4.50
43 enc6002 4.60 NaN NaN
44 enc6011 4.60 NaN NaN
45 enc6012 4.60 NaN NaN
46 enc6013 4.60 NaN NaN
47 enc6014 4.60 NaN NaN
48 enc6015 4.60 NaN NaN
49 enc6016 4.60 NaN NaN
50 enc6017 4.60 NaN NaN
51 enc7002 4.85 NaN NaN
52 enc7003 4.85 NaN NaN
53 enc7004 4.85 NaN NaN
54 enc7009 4.85 4.50 4.50
55 enc1010 4.85 4.50 4.50
56 enc1011 4.85 4.50 4.50
57 enc1012 4.85 4.50 4.50
58 enc1013 4.85 4.50 4.50
59 enc1014 4.85 4.50 4.50
60 enc1015 4.85 4.50 4.50
61 enc1016 4.85 4.50 4.50
62 enc1017 4.85 4.50 4.50
63 enc1018 4.85 4.50 4.50
64 enc1025 4.85 4.62 4.62
65 enc1026 4.85 4.50 4.50
66 enc2010 4.85 4.50 4.50
67 enc2012 4.85 4.50 4.50
68 enc2014 4.85 4.50 4.50
69 enc2015 4.85 4.50 4.50
70 enc2016 4.85 4.50 4.50
71 enc2018 4.85 4.50 4.50
72 enc2019 4.85 4.50 4.50
73 enc2020 4.85 4.50 4.50
74 enc2021 4.85 4.50 4.50
75 enc2022 4.85 4.50 4.50
76 enc2023 4.85 4.50 4.50
77 enc3033 4.85 4.50 4.50
78 enc3034 4.85 4.50 4.50
79 enc3036 4.85 4.50 4.50
80 enc4020 4.85 4.41 4.41
81 enc4022 4.85 4.41 4.41
82 enc4035 4.85 4.50 4.50
83 enc7005 4.85 4.50 4.50
84 enc7006 4.85 4.50 4.50
85 enc7007 4.85 4.62 4.62
86 enc7008 4.85 4.62 4.62
87 enc8001 4.85 4.50 4.50
88 enc8017 4.85 4.50 4.50
89 enc8018 4.85 4.50 4.50
90 enc8019 4.85 4.50 4.50
91 enc8021 4.85 4.50 4.50
92 enc8022 4.85 4.62 4.62
93 enc8023 4.85 4.62 4.62
94 enc8024 4.85 4.62 4.62
95 enc8025 4.85 4.62 4.62
96 enc8026 4.85 4.62 4.62
97 enc8027 4.85 4.62 4.62
98 enc8028 4.85 4.62 4.62
99 enc8033 4.85 4.40 4.40
添加回答
舉報(bào)