前言

Python零基础给其它学校的同学做了几次Python作业,前几次的算比较简单,这次的是对于csv文档的操作,东拼西凑终于给他把期末作业弄好了,只为了实现作业要求,其实感觉写的稀里糊涂,奈何无基础,唉。

要求

做一个病人信息管理程序,病人的信息写在文件名为"patientinfo.csv"的CSV文件中。csv文件的内容形如:

编号姓名性别就诊日期
101李民2020-10-8

程序运行后,在系统中显示以下功能:

  1. 显示所有病人
  2. 新增病人
  3. 删除病人
  4. 关闭系统

如按了1键,就显示所有信息;按了2键,就可以增加一条病人信息到”patientinfo.csv“中,按了3键,就询问要删除的病人编号,找到后从”patientinfo.csv“中删除,按了4键,就退出系统。

特别注意

1、每一部分功能,如新增病人,可以做成函数
2、关闭系统的实现,系统主要做成一个While 循环,条件变量 codi为True,要关闭系统修改条件变量
codi使其为假。
涉及的内容:
1、csv文件的读写操作
2、功能的选择可先用print打印功能列表,然后通过Input和If来实现选择。

建议

1、利用因特网上的资源,查找相关方法
2、可先行用Excel等软件做patientinfo.csv符合要求含有几行信息的文件,用于系统功能测试

源码

import csv
import pandas as pd
import numpy as np
cvsname = "patientinfo.csv"
codi = 'ture'
while codi == 'ture':
    print('1、显示所有病人\n2、新增病人\n3、删除病人\n4、关闭系统')
    strs = input("请输入:");
    if strs == '1':
        df = pd.read_csv(cvsname,encoding = 'gbk')
        print(df)
    if strs == '2':
        f = open(cvsname,'a')
        df = pd.read_csv(cvsname,encoding = 'gbk')
        b = df.tail(1)['编号'].values + 1
        arr = np.array(b)
        d1 = str(arr).lstrip('[').rstrip(']')
        d2 = input("请输入姓名:");
        d3 = input("请输入性别:");
        d4 = input("请输入就诊时间:");
        row=[d1,d2,d3,d4]
        write=csv.writer(f)
        write.writerow(row)
        f.close()
    if strs == '3':
        d = input("请输入要删除的编号:");
        df = pd.read_csv(cvsname,encoding = 'gbk')
        df = df.drop(index=df.loc[(df['编号'] == int(d))].index)
        df.to_csv(cvsname,index=False, encoding='gbk')
    if strs == '4':
        codi = 'false'
LEAVE A REPLY