python 读取excel内容,包含表格日期处理

# -*- coding: utf- -*-
import xlrd
#读取excel表格
workbook=xlrd.open_workbook(r'D:\demo.xlsx')#打开excel文件
table = workbook.sheet_by_name('Sheet2')#将文件内容表格化
rows_num = table.nrows # 获取行
cols_num = table.ncols # 获取列 res=[]#定义一个数组
for rows in range(rows_num):
for cols in range(cols_num):
cell_value=table.cell(rows,cols).value#获取excel中单元格的内容
ctype=table.cell(rows,cols).ctype#获取单元格内容的数据类型:ctype:1整型 2浮点型 3日期 4布尔
if cell_value=='':#判断如果单元格内容为空
cell_value='--'#设置显示内容为--
res.append(cell_value)#将内容加入到res数组
elif ctype ==:#判断单元格内容为日期类型
cell_value=xlrd.xldate_as_datetime(cell_value,)#将内容转为datetime格式
cell_value=cell_value.strftime(("%Y/%m/%d"))#格式转换显示
res.append(cell_value)
elif isinstance(cell_value,unicode):#转码
cell_value=cell_value.encode('utf-8')
res.append(cell_value)
elif isinstance(cell_value,float):#转码
cell_value = str(cell_value)
cell_value = cell_value.decode('utf-8').encode('gb2312')
res.append(cell_value)
res.append('|')
res = ','.join(res)
res = res.split('|') for i in range(len(res)-):
print '第',i+,'行数据:',res[i].strip(',')

读取内容整数变为小数,有2个解决办法:

1、在excel中数字签名加个英文单引号: '

2、通过程序代码判断单元格内容的ctype来解决

if ctype == 2 and cell % 1 == 0.0: # ctype为2且为浮点
cell = int(cell) # 浮点转成整型
cell = str(cell) # 转成整型后再转成字符串,如果想要整型就去掉该行

python写入内容

# -*- coding: utf- -*-
import xlsxwriter
import time
#excel表格写数据 startime=time.time()#获取文件创建时间 workbook=xlsxwriter.Workbook('d:\mm.xlsx')#创建一个excel文件
worksheet=workbook.add_worksheet()#创建一个sheet title=[u'账号',u'密码']#设置表格title
worksheet.write_row('A1',title) #将title写入excel for i in range(,):
num0=bytes(i+)#因为默认从0开始,所以要加1
num=bytes(i)
row='A'+num0#设置行内容
data=[u'user'+num,num,]#设置列内容
worksheet.write_row(row,data)#将内容写入单元格
i+=#换行 workbook.close()#关闭excel endtime=time.time()#获取文件关闭时间
print endtime-startime#计算从创建到写入完成总花费时间

python excel读写数据的更多相关文章

  1. python excel 读写

    python操作Excel读写--使用xlrd xlwt python中使用xlrd.xlwt操作excel表格详解

  2. Python excel读写

    # coding=utf-8 print "----------------分割线 xlrd--------------------" import xlrd #打开一个wordb ...

  3. python文本读写数据

    # 写方法1 f = open('tmp.txt','w') f.write('hello world') f.close() # 写方法2 with open('tmp.txt','w') as f ...

  4. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

  5. Python常用的数据文件存储的4种格式(txt/json/csv/excel)及操作Excel相关的第三方库(xlrd/xlwt/pandas/openpyxl)(2021最新版)

    序言:保存数据的方式各种各样,最简单的方式是直接保存为文本文件,如TXT.JSON.CSV等,除此之外Excel也是现在比较流行的存储格式,通过这篇文章你也将掌握通过一些第三方库(xlrd/xlwt/ ...

  6. Visual Studio 2010利用libxl读写excel表格数据

    C++读写数据,一般通过txt文件,但是随着数据量的增大,采集数据时运用excel表格的优势得以逐步体现.本文主要介绍一下运用第三方库libxl,对excel表格数据进行读写.分为三个部分,第一部分是 ...

  7. Python Excel 多sheet 多条数据 自定义写入

    pip install xlwt python excel 数据写入操作,处理网站数据导出以及不是太多数据的爬虫存储, 用处蛮多的轮子. (150+++++++++++++++++++++++++++ ...

  8. c++ 读写Excel及数据导入SQLServer

    c++ 读写Excel及数据导入SQLServer                 C++操作Excel ,网上的资料还是比较多的,写这篇文章也是分享给初学者一些经验. 本人 觉得CSpreadShe ...

  9. Python StringIO实现内存缓冲区中读写数据

    StringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的“文件”,我们可以像操作磁盘文件那样来操作StringIO.这篇文章主要介绍了Python StringIO模块,此模块 ...

随机推荐

  1. [转]修改github已提交的用户名和邮箱

    改变作者信息 为改变已经存在的 commit 的用户名和/或邮箱地址,你必须重写你 Git repo 的整个历史. 警告:这种行为对你的 repo 的历史具有破坏性.如果你的 repo 是与他人协同工 ...

  2. Visual Studio 2015 开发 ASP.NET 5 有何变化?(转)

    出处:http://www.cnblogs.com/xishuai/p/visual-studio-2015-preview-asp-net-5-change.html 本篇博文目录: ASP.NET ...

  3. QML开发常见错误(原)

    大部分错误,都是因为没有重新编译或者清理导致的.消除步骤: 先排除基本语法错误 清理项目 如果前两步都没有效果,手动删除程序生成目录 1.添加新控件,运行时不识别,如 qrc:ui/main.qml: ...

  4. 浅谈https\ssl\数字证书

    全球可信的SSL数字证书申请:http://www.shuzizhengshu.com 在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕 ...

  5. 编写高质量代码改善C#程序的157个建议——建议145:避免过长的方法和过长的类

    建议145:避免过长的方法和过长的类 如果违反“一个方法只做一件事”及类型的“单一职责原则”,往往会产生过长的方法和过长的类. 如果方法过长,意味着可以站在更高的层次上重构出若干更小的方法.以行数作为 ...

  6. spring mvc 入门程序

    入门程序 1.环境准备 myeclipse Spring jar 2.前端控制器设置 (web.xml) 所有的*.action请求通过org.springframework.web.servlet. ...

  7. oracle 非sys用户创建新用户 授权后 plsql看不到视图

     问题: oracle 非sys用户创建新用户 授权后  plsql看不到视图 答案: 新用户查询视图时,视图名称前需要添加 视图所属用户. 如user用户新建newUser用户,newUser用户查 ...

  8. linux vi vim文本编辑器

    vim是vi的加强版,建议使用vim. vim拥有三种模式: 命令模式(常规模式) vim启动后,默认进入命令模式,任何模式都可以通过esc键来回到命令模式.命令模式可以通过键入不同的命令来完成选择, ...

  9. Android-ContentProvider流程

    Android-ContentProvider原理及流程 Android为什么设计出一个ContentProvider ? 答:ContentProvider的出现主要是暴露数据出去,暴露什么数据呢 ...

  10. What is the difference between inverse converse and reverse?

    http://wiki.answers.com/Q/What_is_the_difference_between_inverse_converse_and_reverse First, it help ...