2016-04-06 7 views
0

私はこのようになりますテキストファイルから文字を分割する必要があります。私が持っているテキストファイルの文字を分割する方法。

87965202,3127C4

87965221,2496B3

87965208,6703D3

87965155,5930B4

コンマで区切られています。私は、行の2番目の部分を3つの別個の文字に分割するための助けが必要です。 すなわち「3127」、「C」、「4」これは、これまでに私のコードです

:第二の部分は常にフォームNNNNANのものであろうなら、あなたはスライスを使用することができます

for line in inputFile2: 
     parts = line.split(",") 
     info = parts[1] 
+1

*「スライス」を参照してください。 –

答えて

1

info = '2496B3' 
info = info[0:4],info[4:5],info[5:6] 
print(info) 
# ('2496', 'B', '3') 

パターンは、より一般的にする必要がある場合は、正規表現してみてください:

import re 
info = '249678ABBZ3' 
re.split('([A-Z]+)', info) 
# ['249678', 'ABBZ', '3'] 
0
secondHalf = "5930B4" 


#slicing format is string[start:end:step] 
initialNumber = secondHalf[0:4] #start at character 0 and end at character 4 
middleLetter = secondHalf[4:5] #start at character 4 and end at character 5 
endingNumber = secondHalf[-1:] #start from the last character 

print(initialNumber, middleLetter, endingNumber) 
#output: 5930 B 4 
-1

スライス列そのため

info = [] 
for line in inputFile2: 
    parts = line.split(",") 
    info.append([parts[0], parts[1][:4], parts[1][4:5], parts[1][5:]]) 
0

使用正規表現:

例:

info = parts[1] 
info = "3127C4" 
//use regex to match the no numeric char 
indexChar = re.search("\D", info) 
slice1 = values[0:indexChar] 
slice2 = values[indexChar] 
slice3 = values[indexChar:] 

1

再または正規表現

import re 
r = re.compile('([0-9]{4})([A-Z])([0-9])') 
print r.findall('5930B4') 
print r.findall('3127C4') 
にインポートすることを忘れていけません

[('5930', 'B', '4')] 
[('3127', 'C', '4')] 
0

を与えるあなたはこのことについて話している:info[8:12]

関連する問題