在Python中读取pe.txt文件,需要加上encoding='utf-8’参数,把读取的信息每一行保存在一个列表,并汇总到一个总列表(persons),2.遍历person列表,根据最后一个数字,插入对应的进出状态,并把结果更新保存在persons列表。 1,大于等于37.2 备注:禁止通行 2,小于37.2C 备注:允许通行 3,分别统计禁止通行与允许通行的人数,输出统计信息。
时间: 2023-11-19 18:04:20 浏览: 84
好的,我明白了你的要求。以下是Python代码实现:
```python
# 读取文件并保存每一行到列表中
with open('pe.txt', encoding='utf-8') as f:
lines = f.readlines()
persons = []
for line in lines:
persons.append(line.strip().split(','))
# 遍历列表,根据最后一个数字插入进出状态
for person in persons:
if float(person[-1]) >= 37.2:
person.append('禁止通行')
else:
person.append('允许通行')
# 统计禁止通行与允许通行的人数并输出
allowed = 0
forbidden = 0
for person in persons:
if person[-1] == '禁止通行':
forbidden += 1
else:
allowed += 1
print(f'允许通行的人数为{allowed},禁止通行的人数为{forbidden}。')
```
值得注意的是,以上代码中的`pe.txt`文件需要与代码文件在同一目录下,并且文件中每行记录需要以逗号分隔。同时,最后一个数字的单位是摄氏度。
相关问题
在python中读取pe.txt文件,需要加上encoding='utf-8’参数,把读取的信息每一行保存在一个列表,并汇总到一个总列表(persons)
好的,可以使用以下代码来实现:
```python
persons = []
with open('pe.txt', encoding='utf-8') as f:
lines = f.readlines()
for line in lines:
persons.append(line.strip())
```
在这段代码中,我们首先创建了一个空列表 `persons`,并打开了名为 `pe.txt` 的文件,指定编码格式为 `utf-8`。然后,我们使用 `readlines()` 函数逐行读取文件中的内容,并使用 `strip()` 函数去除每行末尾的空格和换行符,然后将每行内容添加到 `persons` 列表中。最后,我们关闭了文件。这样,`persons` 列表中就保存了文件中的所有内容。
读取pe.txt文件,需要加上encoding='utf-8’参数,把读取的信息每一行保存在一个列表,并汇总到一个总列表(persons),2.遍历person列表,根据最后一个数字,插入对应的进出状态,并把结果更新保存在persons列表。 1,大于等于37.2 备注:禁止通行 2,小于37.2C 备注:允许通行 3,分别统计禁止通行与允许通行的人数,输出统计信息。3.创建一个表头,并把persons保存到学号下日期文件夹中的report.txt文件中,需要加上encoding='utf-8’参数 1,表头内容为:编号,姓名,体温,状态; 2,把统计人数信息保存在文件中; 3,文件底部添加报告员信息和日期(完成作业当天的日期); 4,保存文件时候,需要在学号目录下创建一个日期文件夹,代码判断学号中是否存在日期文件夹(日期需要与报告日期一致),如果不存在就创建,存在就直接写入,如图:
好的,我已经理解了你的问题。对于你的第一个问题,可以使用以下Python代码读取pe.txt文件,将每一行保存到一个列表中,并将所有列表汇总到一个总列表中。
```python
persons = []
with open('pe.txt', encoding='utf-8') as f:
for line in f:
persons.append(line.strip().split(','))
```
对于你的第二个问题,可以使用以下Python代码遍历persons列表,并根据体温插入进出状态,并更新结果保存在persons列表中,同时统计禁止通行与允许通行的人数并输出统计信息。
```python
num_allow = 0
num_forbid = 0
for person in persons:
temp = float(person[2])
if temp >= 37.2:
person.append('禁止通行')
num_forbid += 1
else:
person.append('允许通行')
num_allow += 1
print('禁止通行人数:', num_forbid)
print('允许通行人数:', num_allow)
```
对于你的第三个问题,可以使用以下Python代码创建一个表头,并将persons保存到学号下日期文件夹中的report.txt文件中,同时统计人数信息并保存在文件中,最后在文件底部添加报告员信息和日期。
```python
import os
import datetime
# 创建表头
header = ['编号', '姓名', '体温', '状态']
# 获取报告日期
report_date = datetime.datetime.now().strftime('%Y-%m-%d')
# 创建日期文件夹
if not os.path.exists('学号/{}'.format(report_date)):
os.makedirs('学号/{}'.format(report_date))
# 写入文件
with open('学号/{}/report.txt'.format(report_date), 'w', encoding='utf-8') as f:
# 写入表头
f.write(','.join(header) + '\n')
# 写入数据
for person in persons:
f.write(','.join(person) + '\n')
# 写入统计信息
f.write('禁止通行人数:{}\n'.format(num_forbid))
f.write('允许通行人数:{}\n'.format(num_allow))
# 写入报告员信息和日期
f.write('报告员:xxx\n')
f.write('日期:{}'.format(report_date))
```
注意,上述代码中的学号需要替换为实际的学号。此外,如果你的pe.txt文件中包含非法字符(例如\xef\xbb\xbf),则需要在打开文件时指定encoding='utf-8-sig'。