Поиск определенного слова в текстовом файле в Python
Скажем, у меня был текстовый файл, который содержит следующую информацию:
Name, Score
bob, 3
jack, 8
ben, 4
Как я могу заставить python найти "bob" и скопировать всю строку bob в переменную?
3 ответа
Часто удобно читать таблицу в pandas
фрейм данных и выполнить ваш запрос, используя pandas
, Например:
import pandas as pd
# The text file
txt_file = r'C:\path\to\your\txtfile.txt'
# Read the .txt file into a pandas dataframe
df = pd.read_table(txt_file, sep = ",")
# Isolate the row based on your query
row = df.loc[df['Name'] == 'ben']
>>> row
Name Score
2 ben 4
Вы должны использовать csv
модуль вместо нестандартной акробатики.
import csv
with open(csvfile) as f:
reader = csv.DictReader(f)
for row in reader:
if row['Name'] == 'bob':
got = row
break
>>> got
>>> {' Score': ' 3', 'Name': 'bob'}
Вы должны обернуть это в функцию.
Следующий код откроет файл в режиме чтения, прочитает все строки и, если найдет bob
в любой строке будет напечатана вся строка:
with open('path_to_your_text_file', 'r') as f:
lines = f.readlines()
for line in lines:
if "bob" in line:
print line