首页 > 编程语言 > 详细

2019.12.9 python_Excel_xlwt/xlrd的初步使用

时间:2019-12-09 18:12:48      阅读:91      评论:0      收藏:0      [点我收藏+]

受托想要写一个可以把Excel表里一列数据变成三列的方法,顺便练习一下xlwt/xlrd的用法。确实是新手小白,写完后才发现Excel里可以直接通过函数实现该功能(具体参见https://zhidao.baidu.com/question/459558708791978645.html)。

另外,在学习的时候,发现有一篇文章对xlrd库的操作有非常详尽的整理和说明,这里也附上链接,备不时之需。(https://blog.csdn.net/lis_12/article/details/52805591

一、功能代码

#引入第三方库xlwt/xlrd

import xlwt

import xlrd

#利用xlrd读取文件‘input.xlsx’中的数据
book1 = xlrd.open_workbook(‘input.xlsx‘)  #打开工作簿
sheet1 = book1.sheet_by_name(‘Sheet1‘) #通过名称获得工作表Sheet1的内容
data = sheet1.col_values(0)  读取第一列数据。注意,这里用的是sheet.col_values(0),如果用sheet1.cols(0),虽然也能返回列表,但其中元素类型不能被直接写入新的表

#利用xlwt把数据写入新文件
booka =xlwt.Workbook(encoding=‘utf-8‘)
sheeta = booka.add_sheet(‘sheet1‘)
n=0  #用来计算读入数据的个数
c=-1  #表示第几列(column)
r=0  #表示第几行(row)
for i in data:    #遍历列表data中的元素并把他们写入新文件
  if i == ‘‘:
    break     #若遇到空的单元格,就推出循环
  n+=1
  if (n-1)%3 == 0:   
    r+=1
    c=0         #一排放三个数,第四个数就要换行
  else:
    c+=1
  #print(r,c,i,type(r),type(i))  直接输出结果用来检验是否正确运行
  sheeta.write(r,c,i)

#保存文件

booka.save(‘output.xls‘)

二、打包程序

有的系统可能并没有安装python的IDLE或者python的解释器,为了在这样的系统中执行,就需要把-.py的源代码转换为无需源代码的可执行文件。该功能可以通过PyInstaller库来实现。它可以把任何-.py扩展名的源代码转换成Windows(exe文件)、linux和Mac OS X下的可执行文件。

在命令行(cmd)下进入源代码所在的路径,输入以下命令:

1、pyinstaller -F OneColumnToThree.py

执行后会生成三个文件夹,其中dist下的exe文件为我们所需要的可执行文件,其余的删掉就行了。也可以用pyinstaller --clean OneColumnToThree.py来清理临时文件。

2、pyinstaller -i curve.ico -F OneColumnToThree.py

比上一个命令多了-i,用来改变exe文件的图标。

最后,把输入文件input.xlsx和exe文件放到一起,就可以在没有解释器的系统上运行了。

 

 

2019.12.9 python_Excel_xlwt/xlrd的初步使用

原文:https://www.cnblogs.com/s-qw/p/12012326.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!