将第二题所生成的txt文本内容读取出来,找出自己和另外三个朋友的资料写成excel档案。(如果找不到自己名字就随便选四个人)
时间: 2023-05-26 08:03:54 浏览: 47
由于没有生成第二题的txt文本,我将以示例格式提供代码参考,帮助您实现该任务。
示例代码:
```
import random
# 生成姓名列表
names = ['Alice', 'Bob', 'Cathy', 'David', 'Eric', 'Frank']
# 生成学科列表
subjects = ['Math', 'English', 'Science']
# 生成txt文本内容
with open('students.txt', 'w') as f:
for i in range(20):
name = random.choice(names)
subject = random.choice(subjects)
score = random.randint(60, 100)
line = f'{name}\t{subject}\t{score}\n'
f.write(line)
# 读取txt文本内容并写成excel档案
import pandas as pd
# 读取txt文本内容,并将其转换为DataFrame
df = pd.read_csv('students.txt', sep='\t', names=['Name', 'Subject', 'Score'])
# 选择自己和另外三个朋友的资料
my_name = 'Alice'
friend1_name = 'Bob'
friend2_name = 'Cathy'
friend3_name = 'David'
selected_df = df[df['Name'].isin([my_name, friend1_name, friend2_name, friend3_name])]
# 将资料写入excel档案
selected_df.to_excel('selected_students.xlsx', index=False)
```
说明:
1. 生成姓名列表和学科列表,用于生成随机数据。
2. 生成txt文本内容,每行包含姓名、学科和分数,使用`\t`分隔不同字段。
3. 读取txt文本内容,并将其转换为DataFrame,指定列名和字段分隔符。
4. 选择自己和另外三个朋友的资料,使用`isin()`方法筛选指定的姓名。
5. 将筛选后的资料写入excel档案,使用`to_excel()`方法,指定文件名和是否包含行索引。