簡體   English   中英

如何從python中的txt文件中逐行提取文本

[英]How to extract text, line by line from a txt file in python

我有一個這樣的txt文件:

audi lamborghini
ferrari
pagani

當我使用這段代碼時:

with open("test.txt") as inp:
    data = set(inp.read().split())

這提供的數據為: ['pagani', 'lamborghini', 'ferrari', 'audi']

我想要的是從txt文件中提取文本,逐行輸出數據

['audi lamborghini','ferrari','pagani']

怎么做到這一點?

data = inp.read().splitlines()

可以做到

data = inp.readlines()

要么

data = list(inp)

但后兩者會在每一行留下換行符,這往往是不可取的。

請注意,由於您關心訂單,因此不建議將字符串放入任何類型的set中 - 這會破壞訂單。

因為文件對象是可迭代的,所以你可以這樣做:

with open("test.txt") as inp:
    data = list(inp) # or set(inp) if you really need a set

文件參考

或者,更詳細(使用列表理解,您也可以刪除尾隨換行符):

with open("test.txt") as inp:
    data = inp.readlines()

或(不是非常Pythonic ,但給你更多的控制):

data = []
with open("test.txt") as inp:
    for line in inp:
        data.append(line)

您可以嘗試使用readlines命令返回列表。

with open("test.txt") as inp:
    data = set(inp.readlines())

在做的情況下。

data = set(inp.read().split())

您首先將整個文件作為一個字符串(inp.read())讀取,然后您使用split()導致字符串在空格上分割。

暫無
暫無

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

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