提取所有表達式的問題我是一個Python新手,我目前工作的一個Python腳本來提取文本時間表達和實際日期改造他們。Python中,有從線(只有第一個提取)
我有時在一條線的幾個時間表達,但是我的代碼只檢索第一個表達式。每個表達式以'{'開始並以'}'結尾。
我已經嘗試了一些東西(while循環,for循環),但我無法找到我應該怎麼做它的工作。我也試過一分爲二的線,但腳本漏洞...
這裏是我的功能:
for in_line in file:
with open('file.txt', 'a+') as outfile:
if '{' in in_line:
start_expression = in_line.find('{')
start_values = in_line.find("values=")
end = in_line.find("}")
expression_temporelle = in_line[start_expression:end+1]
values = in_line[start_values+7:end]
print expression_temporelle
self.retrieve_expression(expression_temporelle, values, in_line, outfile)
(注:的代碼的其餘功能,如果表達式在不同的行,所有采取正確轉化)
這裏是它所打印的:(我運行另一個程序的原始文本,它使得這個格式)
{20 avril 2015,20 avril 2015.Time+Date+format=JJ_mois_AAAA+values=20+avril+2015} // temporal expression extracted
Reçu le [20-4-2015], CONCERNE : XXXXXXXXXXXXXXXXXXXXXXXXXX ({07/04/1961,07/04/1961.Time+Date_naissance+format=JJ-MM-AAAA+values=07-04-1961}) // new sentence with only the first expression transformed
謝謝爲你的幫助:)
對不起,我意識到我不是很清楚我發送給腳本等。 我給腳本的文本,現在(和上面顯示的答案),我給「 Reçu勒{20艾薇2015,20艾薇2015.Time +日期+格式= JJ_mois_AAAA +值= 20 +艾薇+ 2015} CONCERNE:XXXXXXXXXXXXXXXXXXXXXXXXXX({7月4日/ 1961,07/04/1961.Time + Date_naissance +格式(原文爲「Reçule 20 avril 2015,CONCERNE:XXXXXXXXXXXXXXXXXXXXXXXXXX(néle 07/04/1961)」),但通過其他程序)。
所以,問題是我只在該行提取第一時間表達...
嘗試在'}'上分行,這會給你一個列表。然後處理列表中的每個項目。 –
當我做到這一點,我有作爲結果:Reçu樂[20-4-2015],CONCERNE:XXXXXXXXXXXXXXXXXXXXXXXXXX({7月4日/ 1961,07/04/1961.Time + Date_naissance +格式= JJ-MM-AAAA +值= 1961年7月4日}) ...第一行仍是唯一一個進行處理:/ – Lili
沒有數據的一個體面的樣品,這是很難知道發生了什麼。我在您提供的示例中只在{}方括號中看到一個日期 –