在 Python 中存储和打印文本文件中的数据
Storing and Printing data from text file in Python
我有一个程序可以从用户那里获取输入;
姓名、年龄和电子邮件。
我将此信息存储在列表中 (list1) 然后将此列表转换为字符串 (mylist) 并写入文本文件像这样:
mylist = str(list1)
with open("StudentRecord.txt",'a') as f:
f.write(merge+"\n")
这可以很好地写入文件和 read/display 整个文件。
我的问题是:如何在文本文件中搜索特定字符串并从中搜索 return 数据。
例如:用户键入一个名字,我们在文件中查找该字符串和 return 他的年龄。
文本文件格式如下:
James, 29, jimmy@company.com
Anthony, 29, jimmy@company.com
Jason, 29, jimmy@company.com
用户想要查找 Jason 的年龄。
正如 Giovani 在他的评论中所说,对于大型数据集 pandas 将是更好的选择。但是,您可以通过列表和列表理解来搜索和检索用户年龄,如下所示;
with open('file.txt') as file:
data = list(file)
name = input('Enter a Name: ')
age = [i.split(',')[1].strip() for i in data if name in i][0]
print(f"Name: {name}\nAge: {age}")
Enter a Name: James
Name: James
Age: 29
import re
name = input("Enter the name\n")
with open("f.txt",'r') as f:
line=f.readlines()
for i in line:
if re.match(name,i):
age=re.findall(r'\d+',i)
print(f"Age of the {name} is {int(age[0])}")
我已经用正则表达式找到了搜索字符串对应的年龄
我有一个程序可以从用户那里获取输入; 姓名、年龄和电子邮件。
我将此信息存储在列表中 (list1) 然后将此列表转换为字符串 (mylist) 并写入文本文件像这样:
mylist = str(list1)
with open("StudentRecord.txt",'a') as f:
f.write(merge+"\n")
这可以很好地写入文件和 read/display 整个文件。
我的问题是:如何在文本文件中搜索特定字符串并从中搜索 return 数据。 例如:用户键入一个名字,我们在文件中查找该字符串和 return 他的年龄。
文本文件格式如下:
James, 29, jimmy@company.com
Anthony, 29, jimmy@company.com
Jason, 29, jimmy@company.com
用户想要查找 Jason 的年龄。
正如 Giovani 在他的评论中所说,对于大型数据集 pandas 将是更好的选择。但是,您可以通过列表和列表理解来搜索和检索用户年龄,如下所示;
with open('file.txt') as file:
data = list(file)
name = input('Enter a Name: ')
age = [i.split(',')[1].strip() for i in data if name in i][0]
print(f"Name: {name}\nAge: {age}")
Enter a Name: James
Name: James
Age: 29
import re
name = input("Enter the name\n")
with open("f.txt",'r') as f:
line=f.readlines()
for i in line:
if re.match(name,i):
age=re.findall(r'\d+',i)
print(f"Age of the {name} is {int(age[0])}")
我已经用正则表达式找到了搜索字符串对应的年龄