2016-12-30 72 views
1

我需要从F列(蓝色)中的每一行中有#个字符串中抽取D列中的字符串(黄色)。我是一名初学者,正在尝试Pandas和openpyxl来完成这项任务,但没有运气。哪一个会更好呢?
我希望它们存储以便我可以稍后访问它们。
此外,从H列(绿色)提取数字将是最简单的正则表达式? Link to onedrive with the excel My workbookPython:基于另一列中的值提取单元格值

+0

发布文字而不是图片,以便我们有机会处理您的数据。 –

+0

@NickilMaveli添加链接到工作簿,谢谢 –

回答

1

之前,我想你需要read_excel第一,它似乎第一7行已被跳过:

df = pd.read_excel('LTE_KPIs_up.xlsx', skiprows=7) 
#print (df) 

然后通过loc选择与boolean indexing

print (df.loc[df.Unit == '#', 'KPI name']) 
0   UE-triggered ERAB Setup Attempts 
1   UE-triggered ERAB Setup Successes 
4   MME-initiated ERAB Setup Attempts 
5   MME-initiated ERAB Setup Successes 
8  eNodeB-initiated ERAB Release Attempts 
9     eNodeB-initiated ERAB Drops 
11  MME-initiated ERAB Release Attempts 
12     MME-initiated ERAB Drops 
14     ERAB Modification Attempts 
15    ERAB Modification Successes 
18     HO Preparation Attempts 
19     HO Preparation Successes 
22   HO Resource Allocation Attempts 
23   HO Resource Allocation Successes 
26       Handover Attempts 
27       Handover Successes 
33      EPS Attach Attempts 
34      EPS Attach Successes 
37      EPS Detach Attempts 
38      EPS Detach Successes 
40    EPS Authentication Attempts 
41    EPS Authentication Successes 
43    EPS Security Setup Attempts 
44    EPS Security Setup Successes 
46     EMM Identification Attepmt 
47    EMM Identification Successes 
49    EPS Service Request Attemptss 
50    EPS Service Request Successes 
52    Tracking Area Update Attempts 
53    Tracking Area Update Successes 

117  S6a Delete Subscriber Data Attempts 
118  S6a Delete Subscriber Data Successes 
120     S6a Notification Attempts 
121    S6a Notification Successes 
126    S11 Create Session Attempts 
127    S11 Create Session Successes 
130    S11 Create Bearer Attempts 
131    S11 Create Bearer Successes 
134    S11 Update Bearer Attempts 
135    S11 Update Bearer Successes 
138    Modify Access Bearer Attempts 
139   Modify Access Bearer Successes 
141   Release Access Bearer Attempts 
142   Release Access Bearer Successes 
144  Downlink Data Notification Attempts 
145  Downlink Data Notification Successes 
147    S11 Delete Session Attempts 
148    S11 Delete Session Successes 
150    S11 Delete Bearer Attempts 
151    S11 Delete Bearer Successes 
154       Suspend Attempts 
155       Suspend Successes 
157       Resume Attempts 
158       Resume Successes 
162    ME Identity Check Attempts 
163    ME Identity Check Successes 
168   Credit Control Initial Attempts 
169   Credit Control Initial Successes 
171  Credit Control Termination Attempts 
172  Credit Control Termination Successes 
Name: KPI name, dtype: object 
+0

这个完美的作品,谢谢你 –

1

您可以使用以下代码从列F中​​选择所需的值。此外,我认为H列有一个“=”号数

import csv 
import pandas as pd 
from io import StringIO 
Excelfile = "file.xlsx" 
df = pd.read_excel(open(Excelfile,'rb'), sheetname='Sheet1') 
selectstring = df['ColumnD'].where(df['ColumnF'] == '#') 
print selectstring 

print df['Columnh'].str.split('=')[1] 
相关问题