我目前工作的一個項目,我在這裏的任務聲明,現在是我需要指定設備是否是2G還是不是基於波段在Bands欄中給出。例如,過濾特定的詞來獲得一個特定的關鍵字作出,如果在python
Device ID |Bands|2G(New added column)
123 |GSM 1800, GSM 700 |
124 | GSM 1800, GSM 700, GSM 1, LTE TDD |
125 | TD-SCDMA,1 SIM |
126 |GSM850 (GSM800),WCDMA FDD Band I,WCDMA FDD Band VIII,2 SIM |
所以,如果列「帶」僅包含單詞「GSM」,那麼它是2G的,否則,N.
我使用re模塊都試過,但我停留在一些點。
import re
import csv
...
two_G_only = []
...
with open('filepath.txt', "rU") as f:
reader = csv.DictReader(f, delimiter = "|")
for row in reader:
...
...
if 'GSM' in row['Bands']:
gsm_only = " ".join(re.findall("[a-zA-Z]+", row['Bands']))
#Im stuck at here because I don't know how to test whether there is only GSM or else
else:
two_G_only.append('N')
...
...
我需要什麼樣的結果
Device ID | Bands | 2G
123 | GSM 1800, GSM 700 | Y
124 |GSM 1800, GSM 700, GSM 1, LTE TDD | N
125 |TD-SCDMA,1 SIM | N
126 |GSM850 (GSM800),WCDMA FDD Band I,WCDMA FDD Band VIII,2 SIM|N
謝謝你在前進,做評論,如果我的問題是不理解。我已經在網站上搜索了一些解決方案,但我確信所問的問題不是同一個問題/概念。
其實這是我的錯,因爲我想讓它更容易閱讀,所以我改變從管道分隔到選項卡或空間中的原始數據分隔。問題編輯。 – yunaranyancat