def add_reader(): id = input("请输入读者编号:") name = input("请输入读者姓名:") gender = input("请输入读者性别(男/女):") age = input("请输入读者出生日期(YYYY-MM-DD):") iphone = input("请输入读者手机号:") type = input("请输入读者类别(教师/学生):") df = pd.read_excel('readers.xlsx') if df[(df['id'] == id)].empty: print("\n\n已录入该编号的读者信息!") time.sleep(3) else: reader = {"id": id, "name": name, "gender": gender, "age": age, "iphone": iphone, "type": type, "isvalid": 1} readers.append(reader) try: df = pd.read_excel("readers.xlsx") except: df = pd.DataFrame(columns=["id", "name", "gender", "age", "iphone", "type", "isvalid"]) df = df._append(reader, ignore_index=True) df.to_excel("readers.xlsx", index=False) print("读者信息已添加成功!")将添加的信息使用列表进行存储
时间: 2023-10-10 20:06:48 浏览: 50
是的,这段代码中使用了一个名为"readers"的列表来存储添加的读者信息。在else语句中,将读者信息添加到了这个列表中。这里使用的是Python内置的列表类型。需要注意的是,如果程序执行完毕后没有将这个列表存储到文件中,那么下一次运行程序时,这个列表将会是空的,之前添加的读者信息将会丢失。因此,如果需要长期保存读者信息,最好是将其存储到文件中。
相关问题
def add_reader(): # print("请输入功能对应的数字:") id = input("请输入读者编号:") name = input("请输入读者姓名:") gender = input("请输入读者性别(男/女):") age = input("请输入读者出生日期(YYYY-MM-DD):") ipone = input("请输入读者手机号:") type = input("请输入读者类别(教师/学生):") reader = {"id": id,"name": name,"gender": gender,"age": age,"iphone":ipone,"type":type} readers.append(reader) df = pd.DataFrame(columns=["id", "name", "gender", "age", "iphone", "type"]) for reader in readers: df = df.append(reader, ignore_index=True) df.to_excel("readers.xlsx", index=False) print("读者信息已添加成功!")给输入的数据导出到excel里
您的代码已经实现了将读者信息添加到读者列表中并将读者列表导出到Excel文件中。如果您想要将每次添加的读者信息追加到Excel文件中而不是覆盖原有的数据,可以使用以下代码:
```python
import pandas as pd
def add_reader():
id = input("请输入读者编号:")
name = input("请输入读者姓名:")
gender = input("请输入读者性别(男/女):")
age = input("请输入读者出生日期(YYYY-MM-DD):")
iphone = input("请输入读者手机号:")
type = input("请输入读者类别(教师/学生):")
reader = {"id": id, "name": name, "gender": gender, "age": age, "iphone": iphone, "type": type}
readers.append(reader)
# 读取已有的Excel文件,如果文件不存在则创建一个新的文件
try:
df = pd.read_excel("readers.xlsx")
except:
df = pd.DataFrame(columns=["id", "name", "gender", "age", "iphone", "type"])
# 将新读者信息追加到Excel文件末尾并保存文件
df = df.append(reader, ignore_index=True)
df.to_excel("readers.xlsx", index=False)
print("读者信息已添加成功!")
```
这段代码会先尝试读取名为"readers.xlsx"的Excel文件,如果文件不存在则创建一个新的空的DataFrame。然后将新的读者信息追加到DataFrame末尾并保存为Excel文件。这样每次添加读者信息时,都会将新的信息追加到Excel文件中。
def add_reader(): id = input("请输入读者编号:") name = input("请输入读者姓名:") gender = input("请输入读者性别(男/女):") age = input("请输入读者出生日期(YYYY-MM-DD):") iphone = input("请输入读者手机号:") type = input("请输入读者类别(教师/学生):") df = pd.read_excel('readers.xlsx') if df[(df['id'] == id)].empty: print("\n\n已录入该编号的读者信息!") time.sleep(3) else: reader = {"id": id, "name": name, "gender": gender, "age": age, "iphone": iphone, "type": type, "isvalid": 1} readers.append(reader) try: df = pd.read_excel("readers.xlsx") except: df = pd.DataFrame(columns=["id", "name", "gender", "age", "iphone", "type", "isvalid"]) df = df._append(reader, ignore_index=True) df.to_excel("readers.xlsx", index=False) print("读者信息已添加成功!") 修改代码为添加的信息使用列表进行存储
将添加的信息使用列表进行存储的代码如下:
```
import pandas as pd
def add_reader():
id = input("请输入读者编号:")
name = input("请输入读者姓名:")
gender = input("请输入读者性别(男/女):")
age = input("请输入读者出生日期(YYYY-MM-DD):")
iphone = input("请输入读者手机号:")
type = input("请输入读者类别(教师/学生):")
# 从文件中读取已有的读者信息
try:
df = pd.read_excel("readers.xlsx")
except:
df = pd.DataFrame(columns=["id", "name", "gender", "age", "iphone", "type", "isvalid"])
# 检查是否已经有了输入的读者编号
if not df[(df['id'] == id)].empty:
print("\n\n已录入该编号的读者信息!")
time.sleep(3)
return
# 创建一个字典来保存读者信息,并将其添加到列表中
reader = {"id": id, "name": name, "gender": gender, "age": age, "iphone": iphone, "type": type, "isvalid": 1}
df = df.append(reader, ignore_index=True)
# 将列表中的读者信息存储到文件中
df.to_excel("readers.xlsx", index=False)
print("读者信息已添加成功!")
```
这个版本的代码使用了一个名为"df"的pandas.DataFrame对象来存储读者信息。在添加新的读者信息时,会将其转化为一个名为"reader"的字典,并将其追加到"df"中。在程序结束时,会将"df"中的内容保存到文件中。这个版本的代码比之前的版本更稳健,因为它能够长期保存读者信息,并且能够较好地处理读者信息的增加和删除等操作。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)