Поиск определенного слова в текстовом файле в 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
Другие вопросы по тегам