我已将网页中的部分数据复制到文本文件中。如何将此数据转换为相关数据格式
这样我就可以将学生数据列表设为Mono<Bar> bar Mono<Foo> foo
,可以访问 student=[s1,s2,s3]
,s1.RollNo
作为使用python的类。这个数据中有很多空格。我已经完成了文件处理操作,并将每一行保存为字符串列表。
数据如下:
s2.Name
答案 0 :(得分:3)
我们可以使用库RollNo Marks Name
1 55 Ram
2 100 Shayam
3 91 Tom
4 72 Sweety
并使用正则表达式来删除访问空间。首先,在此代码中,创建名为student的named.uplele类。
命名元组对于为数据分配字段名称特别有用。
namedtuple
答案 1 :(得分:1)
@Rajat ,您可以尝试以下代码从文本文件中读取数据(此处为students.txt
)并将数据存储在类对象中。
设计课程,学生。
- 醇>
设计一个以文件路径为参数并在处理文本文件后返回学生对象列表的函数。
»students.txt
RollNo Marks Name
1 55 Ram
2 100 Shayam
3 91 Tom
4 72 Sweety
»read_file_and_store.py
class Student:
"""
Constructor which constructs a Student object
"""
def __init__(self, roll_no, marks, name):
self.roll_no = roll_no;
self.marks = marks;
self.name = name;
def read_data_from_file_store(file_path):
"""
This function reads data from file and store in the objects of type Student
"""
students = [] # A list of objects of type Student
with open(file_path) as f:
lines = f.readlines();
print (lines, end="\n")
for line in lines[1:]:
arr = line.strip().split();
roll_no = int(arr[0]);
marks = int(arr[1]); # Converting string to integer
name = " ".join(arr[2:]); # It will store multiword names (e.g Rishikesh Agrawani)
# Creating Student object then storing it in a list
student = Student(roll_no, marks, name);
students.append(student);
return students;
# Starting point
if __name__ == "__main__":
file_path = "E:\\Users\\Rishikesh\\Python3\\Practice\\ReadAndStore\\students.txt"
students = read_data_from_file_store(file_path);
# As we know, in this case we have 4 students so the following statements are correct
# Otherwise you can use loop through list and print the data stored in objects
s1 = students[0];
s2 = students[1];
s3 = students[2];
# This is what you want
print("Student 1:\n");
print("Roll no: ", s1.roll_no);
print("Marks : ", s1.marks);
print("Name : ", s1.name, end='\n');
print("Student 2:\n");
print("Roll no: ", s2.roll_no);
print("Marks : ", s2.marks);
print("Name : ", s2.name, end='\n');
print("Student 2:\n");
print("Roll no: ", s3.roll_no);
print("Marks : ", s3.marks);
print("Name : ", s3.name, end='\n');
»输出
E:\Users\Rishikesh\Python3\Practice\ReadAndStore>python read_file_and_store.py
['RollNo Marks Name\n', '1 55 Ram\n', '2 100 Shayam \n', '3 91 Tom\n', '4 72 Sweety']
Student 1:
Roll no: 1
Marks : 55
Name : Ram
Student 2:
Roll no: 2
Marks : 100
Name : Shayam
Student 2:
Roll no: 3
Marks : 91
Name : Tom