海皇 发表于 2020-8-13 16:10:22

Excel表格

我想实现在python中查询Excel表格的的信息,并且获取该行的所有信息。
以及查询该行的信息并修改。还有删除该行信息,并且下面内容自动往上移动{:10_257:}

xiaosi4081 发表于 2020-8-13 16:11:01

用openpyxl:https://baijiahao.baidu.com/s?id=1626070804193125745&wfr=spider&for=pc

zltzlt 发表于 2020-8-13 16:11:05

关于 Excel 的基本操作可以来看:https://fishc.com.cn/forum.php?mod=forumdisplay&fid=319&filter=typeid&typeid=722

海皇 发表于 2020-8-13 17:03:50

xiaosi4081 发表于 2020-8-13 16:11
用openpyxl:https://baijiahao.baidu.com/s?id=1626070804193125745&wfr=spider&for=pc

完全没有我想要的功能

海皇 发表于 2020-8-13 17:10:00

"1:查询住户信息2:修改住户信息 3:添加住户 4:删除住户"
我要实现的是这些功能除了第三个

疾风怪盗 发表于 2020-8-13 23:44:17

你的要求太高了了,这边是求助、交流,不是免费写代码

海皇 发表于 2020-8-14 08:58:47

疾风怪盗 发表于 2020-8-13 23:44
你的要求太高了了,这边是求助、交流,不是免费写代码

我要是懂得这概念我还求助,我笑了{:10_251:}

wp231957 发表于 2020-8-14 09:19:18

直面excel 所有第三方都不行
还是vba 王道

wp231957 发表于 2020-8-14 09:20:05

海皇 发表于 2020-8-14 08:58
我要是懂得这概念我还求助,我笑了

论坛当然是交流的
不过也有高手愿意为其他人免费提供源代码不过需要你去撞运气

海皇 发表于 2020-8-14 10:02:14

import os.path
import openpyxl
import pandas as pd
import xlrd
import xlwt
from xlutils.copy import copy


# 创建excel表格
def create():
    wb = xlwt.Workbook('信息表.xls')
    sh1 = wb.add_sheet('Sheet1')
    # 添加信息
    sh1.write(0, 0, '身份证件号')
    sh1.write(0, 1, '姓名')
    sh1.write(0, 2, '房间号')
    sh1.write(0, 3, '房费')
    sh1.write(0, 4, '押金')
    # 保存
    wb.save('信息表.xls')


# 查询住户信息
def Inquire():
    Ch1 = input("请输入身份证件号:")
    readbook = xlrd.open_workbook('信息表.xls')
    sh1 = readbook.sheet_by_index(0)
    # 循环信息表的所有行
    for row in sh1.get_rows():
      ID = row# 身份证所在的列
      product_value = ID.value
      # 判断输入身份证的信息
      if product_value == Ch1:
            if product_value != '身份证件号':# 排除第一行
                price_column = row# 身份证所在的列
                ID_card = price_column.value
                price_column = row# 姓名所在的列
                name = price_column.value
                price_column = row# 房间号所在的列
                room_number = price_column.value
                price_column = row# 房费所在的列
                Room_rate = price_column.value
                price_column = row# 押金所在的列
                deposit = price_column.value
                # 打印
                print(f"身份证件号:{ID_card}姓名:{name}房间号:{room_number}房费:{Room_rate}押金:{deposit}")


# 修改住户信息
def modify():
    return



# 添加住户
def Add_to():
    # 打开excel表格
    readbook = xlrd.open_workbook('信息表.xls')
    wb = copy(readbook)
    # 获取最后一行并加一行
    excel = pd.read_excel(readbook)
    line = len(excel) + 1
    # 选取第一个表单
    sh1 = wb.get_sheet(0)
    # 输入数据
    num = input("身份证件号:")
    name = input("姓名:")
    num2 = input("房间号:")
    num3 = input("房费:")
    num4 = input("押金:")
    # 导入到excel表格里
    sh1.write(line, 0, num)
    sh1.write(line, 1, name)
    sh1.write(line, 2, num2)
    sh1.write(line, 3, num3)
    sh1.write(line, 4, num4)
    # 保存
    wb.save('信息表.xls')


# 删除住户
def delete():
    readbook = openpyxl.load_workbook('信息表.xls')
    wb = copy(readbook)
    ws = wb['Sheet1']
    # 获取最后一行并加一行
    ws.delete_rows()
    wb.save('信息表.xls')

# 选择
def select():
    for i in range(2):
      Ch = input("请选择:")
      if Ch == "1":
            Inquire()
            break
      elif Ch == "2":
            modify()
            break
      elif Ch == "3":
            Add_to()
            break
      elif Ch == "4":
            delete()
            break
      elif Ch == "5":
            exit(1)
      else:
            print("输入错误")


# 判断是否有信息表
if not os.path.exists('信息表.xls'):
    create()
    print("创建成功")
    Add_to()
else:
    print("表格已存在")


print("1:查询住户信息2:修改住户信息 3:添加住户 4:删除住户 5:退出")
select()

要不以为自己很牛逼似的,说得好像我没有弄就在这里哔哔赖赖,代码给你了有种就把完全补完不然就不要在这哔哔赖赖fw

BIO-张磊 发表于 2020-8-15 09:39:33

@Twilight6 这都什么人,把这个人 账号封了吧
页: [1]
查看完整版本: Excel表格