从Excel表格中读取表单信息(正确输出表格中的日期内容)

本文介绍了如何使用Python库xlrd实现从Excel文件中读取支出和收入项,包括数据类型转换和日期格式化,并展示了如何将数据存储为列表。还演示了如何对财务数据进行初步整理,为后续分析和可视化做准备。
摘要由CSDN通过智能技术生成
import xlrd
from time import sleep
from xlrd import xldate_as_datetime

list_jizhang_zhichu=[]  #读取Excel中的支出项
list_jizhang_shouru=[]  #读取Excel中的收入项

#读取Excel中的数据项
class Jizhang:
    #读取Excel中的支出项
    def zhichu(self):
        # 1.打开Excel文件,工作表
        wb = xlrd.open_workbook(r'C:\Users\aoxiang.liu\Desktop\记账测试数据.xls')
        # 2.获取到sheet表
        sheet = wb.sheet_by_name("支出")  # sheet表名获取
        # 3.读取sheet中全部的内容,共有多少行,多少列(用索引定位)
        for n in range(1, sheet.nrows):      #行数
            lst_zhichu=[]
            for r in range(0, sheet.ncols):    #列数
                # 表格的数据类型
                # ctype: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
                ctype=sheet.cell(n, r).ctype
                cell=sheet.cell_value(n,r)
                #如果是字符串直接输出
                if ctype==1:
                    cell=cell
                #如果是数值类型直接输出
                elif ctype==2:
                    cell=int(cell)
                #如果是日期类型,转成datetime对象
                elif ctype==3:
                    cell=xldate_as_datetime(cell, 0).strftime('%Y/%m/%d')
                lst_zhichu.append(cell)
            list_jizhang_zhichu.append(lst_zhichu)
        print(f"支出项数据为:{list_jizhang_zhichu}")
        sleep(1)

    #读取Excel中的收入项
    def shouru(self):
        # 1.打开Excel文件,工作表
        wb = xlrd.open_workbook(r'C:\Users\aoxiang.liu\Desktop\鲨鱼记账测试数据.xls')
        # 2.获取到sheet表
        sheet = wb.sheet_by_name("收入")  # sheet表名获取
        # 3.读取sheet中全部的内容,共有多少行,多少列(用索引定位)
        for n in range(1, sheet.nrows):
            lst_shouru=[]
            for r in range(0, sheet.ncols):
                # 表格的数据类型
                # ctype: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
                ctype=sheet.cell(n, r).ctype
                cell=sheet.cell_value(n,r)
                #如果是字符串直接输出
                if ctype==1:
                    cell=cell
                #如果是数值类型直接输出
                elif ctype==2:
                    cell=int(cell)
                #如果是日期类型,转成datetime对象
                elif ctype==3:
                    cell=xldate_as_datetime(cell, 0).strftime('%Y/%m/%d')
                lst_shouru.append(cell)
            list_jizhang_shouru.append(lst_shouru)
        print(f"收入项数据为:{list_jizhang_shouru}")
        sleep(1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值