簡體   English   中英

從文本文件中的特定字符串開始查找字符串並進行分類

[英]Find a String starting from a particular string in text files and classify

我正在做作業,我已經讀過類似的帖子,在這里發現一個非常有趣的: 在兩個子串之間找到字符串

我的目標是使用python搜索3個特定模式我在文本文件中搜索,我需要在未分類的文本文件中執行搜索,我需要:

1)從關鍵字'more info'開始搜索(之前繞過信息)

2)分類文件基於:A1)字符串:'大房子'和他的價格A2)字符串:'大房子'沒有找到價格B1)字符串:'小家'和他的價格B2)字符串:'小家'沒有價格發現C1)字符串:'大家'和'小家'和他們的價格C2)字符串:'大家'和'小家'他們的價格缺失D)沒有發現任何字符串(大家或小家)

對於A,B,C,找到價格和打印='大房價50USD',如果沒有找到價格提及。

我正在用python進行文本研究,並且它返回了找到的關鍵字的分類,我需要根據上述模式A,B,C和D對文檔(文本文件)進行分類。

data_train['classi'] = data_train['text'].apply(lambda x: len([x for x in x if x.startswith('classi')]))
data_train[['text','classi']].head()

這是輸出:

text    classi
0   [big home, forrest, suburb, more info,          0
1   [town, pool, more info,                         0
2   [small home,more info,  forrest, suburb         1
3   [big home, more info,  forrest, price 50        1
4   [big home, forrest,  more info,  city           0

我希望:1)從關鍵字“更多信息”開始搜索2)對我在A,B,C,D中搜索的文本文檔進行分類(如果沒有價格提及,請獲取價格的字符串。

任何支持高度贊賞!

編輯:

我會做類似的事情:

from pathlib import Path
for file in Path("my_folder").glob("*.txt"):
    with file.open('r') as f:
        more_info_flag = False
        for line in f:
            if not more_info_flag:
                if "more info" in line:
                    more_info_flag = True
                else:
                    continue
            if "big_home" in line:
                if "price is" in line:
                    price = int(line.split("price is")[1].split(" ")[0])
                else:
                    price = None
                do_something(price)

我認為這適用於您發布的文件,如果其他格式不同,則需要進行調整...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM