Kinh Nghiệm Hướng dẫn How do i extract specific portion of a text file using python? Mới Nhất
Lã Hiền Minh đang tìm kiếm từ khóa How do i extract specific portion of a text file using python? được Update vào lúc : 2022-09-24 12:35:33 . Với phương châm chia sẻ Kinh Nghiệm Hướng dẫn trong nội dung bài viết một cách Chi Tiết Mới Nhất. Nếu sau khi Read nội dung bài viết vẫn ko hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Mình lý giải và hướng dẫn lại nha.We would need to know the specific details of how the file is formatted to give an exact answer, but here is one way that may be helpful.
Nội dung chính- How do I extract specific parts of a text file in Python?How do I read a specific part of a file in Python?How do I extract a specific line from a file in Python?How do I extract text from a specific word in Python?
Firstly, your 'info' is right now just a TextIOWrapper object. You can tell by running print(type(info)). You need to make it info = open('data.txt', 'r').read() to give you a string of the text, or info = open('data.txt', 'r').readlines() to give you a list of the text by line, if the format is just plain text.
Assuming the data looks something like this:
Patient: Charlie Age = 99 Description: blah blah blah Patient: Judith Age: 100 Description: blah blah blahsYou can do the following:
First, find and store the index of the ID you are looking for. Secondly, find and store the index of some string that denotes a new ID. In this case, that's the word 'Patient'. Lastly, return the string between those two indices.
Example:
ID = input("please enter a reference id to search for the patient: ") info = open("data.txt", 'r').read() if ID in info: #find() returns the beginning index of a string f = info.find(ID) goods = info[f:] l = goods.find('Patient') goods = goods[:l] print(goods) else: print("not in file")Something along those lines should do the trick. There are probably better ways depending on the structure of the file. Things can go wrong if the user input is not specific enough, or the word patient is scattered in the descriptions, but the idea remains the same. You should do some error handling for the input, as well. I hope that helps! Good luck with your project.
View Discussion
Improve Article
Save Article
ReadDiscussView Discussion
Improve Article
Save Article
Text files are composed of plain text content. Text files are also known as flat files or plain files. Python provides easy support to read and access the content within the file. Text files are first opened and then the content is accessed from it in the order of lines. By default, the line numbers begin with the 0th index. There are various ways to read specific lines from a text file in python, this article is aimed discussing them.
File in use: test.txt
Method 1: fileobject.readlines()
A file object can be created in Python and then readlines() method can be invoked on this object to read lines into a stream. This method is preferred when a single line or a range of lines from a file needs to be accessed simultaneously. It can be easily used to print lines from any random starting index to some ending index. It initially reads the entire content of the file and keep a copy of it in memory. The lines the specified indices are then accessed.
Example:
Python3
file = open('test.txt')
content = file.readlines()
print("tenth line")
print(content[9])
print("first three lines")
print(content[0:3])
Output
tenth line
This is line 10.
first three lines
This is line 1.This is line 2.This is line 3.
Method 2: linecache package
The linecache package can be imported in Python and then be used to extract and access specific lines in Python. The package can be used to read multiple lines simultaneously. It makes use of cache storage to perform optimization internally. This package opens the file on its own and gets to the particular line. This package has getline() method which is used for the same.
Syntax:
getLine(txt-file, line_number)Example:
Python3
import linecache
particular_line = linecache.getline('test.txt', 4)
print(particular_line)
Output :
This is line 5.Method 3: enumerate()
The enumerate() method is used to convert a string or a list object to a sequence of data indexed by numbers. It is then used in the listing of the data in combination with for loop. Lines particular indexes can be accessed by specifying the index numbers required in an array.
Example:
Python3
file = open("test.txt")
specified_lines = [0, 7, 11]
for pos, l_num in enumerate(file):
if pos in specified_lines:
print(l_num)
Output
This is line 1. This is line 8. This is line 12.