簡體   English   中英

如何使用 python 獲取文件每一行的第一個單詞?

[英]How to get just the first word of every line of file using python?

如您所見,我是新手,我不知道如何問這個問題,所以我要解釋一下。 我正在以文本格式編寫索馬里語詞典,並且我有很多單詞及其含義,因此我只想在另一個文本格式文件中包含這些單詞而不是它們的含義,以便獲得僅詞匯表的列表。 他們是我能做到的一種方式嗎? 示例“ abaabid m.dh eeg abaab².ld ababid.ld abaab¹, abaabis.” 我有數百個這樣的詞及其含義,我只想選擇“ abaabid ”等詞。所以我怎樣才能在 python 中自動化它而不是整天手動復制粘貼? 不要再說將代碼作為文本發布,我什至不知道如何編寫代碼,這就是我問這個問題的原因。 此屏幕截圖是顯示單詞及其含義的文本文件。

如果您只想讓腳本讀取字典條目,然后將單詞寫入單獨的文件,請嘗試以下操作:


def get_words(filename='Somali Dictionary.txt'):
    with open(filename, 'r') as f:
        lines = [line.split()[0] for line in f.readlines() if line != '\n']
        f.close()
    return lines

def write_words(lines, filename='Somali Words.txt'):
    with open(filename, 'w') as f:
        for line in lines:
            f.write(line)
            f.write('\n')
        f.close()

示例用法:

words = get_words()
write_words(words)

或者,或者:

if __name__ == '__main__':
    words = get_words()
    write_words(words)

為了獲得每行的第一個單詞,請按照以下步驟操作

f = open('file.txt', 'r') for line in f: print(line.split(' ')[0]) 或

with open('convert.txt', 'r') as f: for line in f: print(line.split('')[0])

如果它在控制台中顯示有關 (UnicodeDecodeError: 'charmap' codec can't decode) 的錯誤,您可以通過添加 encoding='utf-8'(我正在使用.txt 文件) 來修復,我的文件格式是 utf-8 及以下是您在代碼中添加的方式

with open('convert.txt', 'r', encoding='utf-8') as f: for line in f: print(line.split(' ')[0])

暫無
暫無

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

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