亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在txt文件的特定位置放置換行符?

如何在txt文件的特定位置放置換行符?

繁花不似錦 2024-01-04 17:21:25
我有一個 .txt 文件,其中包含我研究所需的大量文本信息。因此,我正在嘗試編寫一個進行關鍵字搜索的程序(在我的例子中,我需要短語“sold salt”),之后它將以該短語開頭的文本逐行寫入新文件并剪切在某個時候關閉(我還沒有決定)。它實際上是一本包含 17 世紀數字化文檔的書,用古俄語寫成,但示意性文本如下所示:“表_No.1文字文字文字文字文字文字文本文本文字文字文字文字文字文字文字售鹽文字文字文字文字文字文字售鹽文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字sheet_1_reverse文本文本出售鹽文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本所以這是一個非常糟糕的結構,我想要的是將所有鹽銷售記錄及其在整個文本中的位置放在一個文件中以供我的研究?,F在,很抱歉做了很長的介紹,我只是想展示我必須處理的事情。我嘗試使用 docx lib 編寫代碼,但事實證明,唯一可行的方法是在 docx 文件中下劃線所需的信息,然后使用代碼將其取出,這并不是很糟糕,但它還需要時間。所以我停止了 txt 格式,現在我得到了這個:key_1 = 'sold'key_2 = 'salt'f_old = open("text.txt", encoding='utf-8')f_result = open("text_result.txt", 'w', encoding='utf-8')for line in f_old:    line = line.split()    if len(line) == 1:        for elem in range(len(line)):            f_result.write(line[elem] + '\n')
查看完整描述

1 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

因此,根據您提供的信息,我想當您看到另一個時,您想停止寫作sold salt,然后從那里繼續寫作。這意味著在寫入時,您只需要進行另一次檢查(就像您已經做的那樣),以確保要寫入新文件的單詞不是sold salt,如果是,則從那里中斷。它看起來像這樣:


for line in f_old:

    line_words = line.split()  # it is confusing changing the value of a variable within the

    # loop, so I would recommend simply creating a new variable

    if len(line_words) == 1:

        # there was no need for a for loop here as we already know that there is only one element

        f_result.write(line_words[0] + '\n')

    else:

        for word in range(len(line_words)-1):  # as you will be accessing word+1 element,

        # you need to look out for out of range indices

            if line_words[word] == key_1 and line_words[word + 1] == key_2:

                for i in range(len(line_words[word: word + 10]))):

                    if i != 0 and line_words[word+i] == key_1 and line_words[word+i+1] == key_2:

                        break


                    f_result.write(line_words[word+i] + ' ')

                f_result.write('\n')



f_result.close()

我還建議使用枚舉,然后僅使用索引來訪問您需要的元素后面的元素,我認為它提供了更清晰的代碼。


查看完整回答
反對 回復 2024-01-04
  • 1 回答
  • 0 關注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號