我有一個文本文件,其中有許多行數據。我需要檢查該文本文件的每一行並處理相應行中所包含的數據(即保存到用於分析的單獨的,彙總的.txt)針對字符串中特定位置使用.startswith()的問題
該文本文件爲以下面的格式:
-
(載於線的其餘部分)
因此,這是
1 ID:K-95 數據的列表
0 ID:d-56的其它數據
,使得第一線過相關的列表數據爲ID K-95,第二個數據與ID D-56無關。
我想解析文本文件,並根據相關性(0或1)和數據ID對每行中包含的數據進行排序。即按照相關性順序保存每行具有相同ID的行(首先用1表示所有行,然後用0表示)。行可以具有相同的ID,但具有不同的數據。線也總是固定的長度。
要做到這一點,我想出了:
idtag = input('Enter ID:')
with open("example.txt", 'r') as f:
for line in f.readlines():
if line.startswith('1') and line.startswith(idtag, 5, 3):
print line
但是有這個麻煩。具體圍繞和運算符之後的第二個條件。我可以根據是否有0或1來打印/選擇線條,沒有問題。但是,將.startswith()
方法與定義的位置一起使用似乎不會返回任何內容:無錯誤,無打印 - 它只是執行並不返回任何內容。
任何想法?也許更好的解析這些數據來滿足我的目標?
是由分隔符分隔的數據列表,說逗號? –
@SaikatKumarDey是的,它用以下格式的空格分隔:a:100F b:150A c:41S – tyrfingnir
列表中項目的數量是否固定? –