python数据分析—运用xlrd读取xls文件,读取文件中日期显示为浮点数解决办法
文章目录
开发工具问题代码问题分析解决代码运行结果总结
开发工具
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组装电脑配置单推荐报价格
上传时间: 2023-04-27 11:43:02
上一篇:记一次组装电脑的经历
下一篇:GDK Pixbuf可以旋转小于90度的东西吗?(Can a GDK Pixbuf be rotated by something less than 90 degrees?)
推荐阅读
留言与评论(共有 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 |