鱼C论坛

 找回密码
 立即注册
查看: 2019|回复: 10

Excel表格

[复制链接]
发表于 2020-8-13 16:10:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想实现在python中查询Excel表格的的信息,并且获取该行的所有信息。
以及查询该行的信息并修改。还有删除该行信息,并且下面内容自动往上移动
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-13 16:11:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 16:11:05 | 显示全部楼层
关于 Excel 的基本操作可以来看:https://fishc.com.cn/forum.php?m ... peid&typeid=722
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 17:03:50 | 显示全部楼层
xiaosi4081 发表于 2020-8-13 16:11
用openpyxl:https://baijiahao.baidu.com/s?id=1626070804193125745&wfr=spider&for=pc

完全没有我想要的功能
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 17:10:00 | 显示全部楼层
"1:查询住户信息  2:修改住户信息 3:添加住户 4:删除住户"
我要实现的是这些功能除了第三个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 23:44:17 | 显示全部楼层
你的要求太高了了,这边是求助、交流,不是免费写代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-14 08:58:47 | 显示全部楼层
疾风怪盗 发表于 2020-8-13 23:44
你的要求太高了了,这边是求助、交流,不是免费写代码

我要是懂得这概念我还求助,我笑了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-14 09:19:18 | 显示全部楼层
直面excel 所有第三方都不行
还是vba 王道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-14 09:20:05 | 显示全部楼层
海皇 发表于 2020-8-14 08:58
我要是懂得这概念我还求助,我笑了

论坛当然是交流的
不过也有高手愿意为其他人免费提供源代码  不过需要你去撞运气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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[0]  # 身份证所在的列
        product_value = ID.value
        # 判断输入身份证的信息
        if product_value == Ch1:
            if product_value != '身份证件号':  # 排除第一行
                price_column = row[0]  # 身份证所在的列
                ID_card = price_column.value
                price_column = row[1]  # 姓名所在的列
                name = price_column.value
                price_column = row[2]  # 房间号所在的列
                room_number = price_column.value
                price_column = row[3]  # 房费所在的列
                Room_rate = price_column.value
                price_column = row[4]  # 押金所在的列
                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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-15 09:39:33 | 显示全部楼层
@Twilight6 这都什么人,把这个人 账号封了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 08:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表