您现在的位置是:首页 > 电脑 > 

python数据分析—运用xlrd读取xls文件,读取文件中日期显示为浮点数解决办法

2025-07-29 15:23:58
文章目录 开发工具问题代码问题分析解决代码运行结果总结 开发工具 python版本:Python .6.1 python开发工具:JetBrains PyCharm 2018..6 x64 第三方库xlrd安装→pip install xlrd -

文章目录
    • 开发工具
    • 问题代码
    • 问题分析
    • 解决代码
    • 运行结果
    • 总结

开发工具

python版本:Python .6.1

python开发工具:JetBrains PyCharm 2018..6 x64

第三方库xlrd安装→pip install xlrd -i http://mirrors.aliyun/pypi/simple/

excel测试数据.xls→文件下载地址

https:///f/128771-5011270-f156f0
(访问密码:885)

问题代码

import xlrd
from jieba import xrange
from pprint import pprint

filename = 	excel测试数据.xls	

wb = xlrd.open_workbook(filename=filename)
ws = wb.sheet_by_name(	Sheet1	)
dataset = []
for r in xrange(ws.nrows):
    col = []
    for c in range(ws.ncols):
        col.append(ws.cell(r, c).value)
    dataset.append(col)
pprint(dataset)

问题分析


在文件日期格式为yyyy/MM/dd HH:mm:ss,通过python读取文件中日期信息变为了浮点类型的数据,在读取是需要做相应的处理

解决代码

from datetime import datetime
import xlrd
from jieba import xrange
from pprint import pprint
from xlrd import xldate_as_tuple


filename = 	excel测试数据.xls	

wb = xlrd.open_workbook(filename=filename)
ws = wb.sheet_by_name(	Sheet1	)
dataset = []
for r in xrange(ws.nrows):
    col = []
    for c in range(ws.ncols):
        if ws.cell(r, c).ctype == xlrd.XL_CELL_DATE:  # 判断单元格类型是否为日期格式,如果是进行如下操作
            data_value = xldate_as_tuple(ws.cell(r, c).value, datemode=0)
            col.append(datetime(*data_value).strftime(	%Y/%m/%d %H:%M:%S	))
        else:
            col.append(ws.cell(r, c).value)
    dataset.append(col)
pprint(dataset)

运行结果

总结

运用xlrd读取excel文件时,需要注意日期格式的读取;直接读取读出来内容为浮点数,这里需要对单元格类型作日期类型判断,如果是单独处理一下日期,将日期转为我们需要的形式

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/diannao/77679.html

相关标签:无
上传时间: 2023-04-27 11:43:02
留言与评论(共有 16 条评论)
本站网友 原地跑步
9分钟前 发表
c).value) dataset.append(col) pprint(dataset) 运行结果 总结 运用xlrd读取excel文件时
本站网友 院士工作站
1分钟前 发表
if ws.cell(r
本站网友 电视机功率
9分钟前 发表
col = [] for c in range(ws.ncols)
本站网友 人均收入排名
0秒前 发表
///f/128771-5011270-f156f0 (访问密码:885) 问题代码 import xlrd from jieba import xrange from pprint import pprint filename = excel测试数据.xls wb = xlrd.open_workbook(filename=filename) ws = wb.sheet_by_name( Sheet1 ) dataset = [] for r in xrange(ws.nrows)
本站网友 4d面膜
0秒前 发表
将日期转为我们需要的形式
本站网友 数字标本馆
2分钟前 发表
c).ctype == xlrd.XL_CELL_DATE
本站网友 昆明白癜风
2分钟前 发表
col.append(ws.cell(r
本站网友 视频看房网
17分钟前 发表
col = [] for c in range(ws.ncols)
本站网友 脑血栓治疗
18分钟前 发表
if ws.cell(r
本站网友 hawkeye
17分钟前 发表
c).value
本站网友 丹东万达广场
10分钟前 发表
需要注意日期格式的读取;直接读取读出来内容为浮点数
本站网友 比特币交易网
9分钟前 发表
col.append(ws.cell(r
本站网友 成都纹身
17分钟前 发表
col = [] for c in range(ws.ncols)
本站网友 电视吧
19分钟前 发表
col = [] for c in range(ws.ncols)
本站网友 什么是化疗
1分钟前 发表
col.append(ws.cell(r