2016-12-30 71 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] 
相關問題