python如何导入excel文件数据,python怎么将数据导出到Excel
本文主要介绍Python数据处理——导入导出excel数据。Python的一大应用就是数据分析,在数据分析中,我们经常会遇到需要处理Excel数据的情况。下面总结一下Python对Excel数据的处理,需要的小伙伴可以参考一下。
00-1010 1.xlwt库将数据导入Excel1。将数据写入Excel文件2。自定义Excel表格样式3。对齐单元格4。单元格背景色5。单元格边框2。xlrd库读取Excel 1中的数据。读取Excel文件2。工作台相关操作3。处理时间数据前言:.
Python的一大应用就是数据分析,在数据分析中,我们经常会遇到需要处理Excel数据的情况。下面总结一下Python对Excel数据的处理,基本上大多数情况下都是有用的。相信以后用Python处理Excel数据不再是难事!
目录
一.xlwt库将数据导入Excel
wb=xlwt。工作簿()
#添加表格
ws=wb.add_sheet(test )
# 3参数是行号、列号和内容。
#请注意,行号和列号都从0开始。
Ws.write(0,0,“第1列”)
Ws.write(0,1,“第2列”)
Ws.write(0,2,“第3列”)
#保存excel文件
wb.save(。/test.xls )
可以看到,用xlwt库操作非常简单,基本就三步走:
打开一个Workbook对象,用add_sheet方法添加一个表,然后用write方法写入数据,最后用save方法保存。需要注意的是:XLWT库中定义的行和列从0开始计数。
1.将数据写入一个Excel文件
表格样式一般主要有这么几块内容:字体、对齐方式、边框、背景色、宽度和特殊内容,如超链接、日期和时间等。让我们来看看如何用xlwt库定制这些样式。
脚本
xlwt库支持的字体属性也比较多,大概如下:
设置字体需要用到xlwt库的XFStyle类和Font类,代码模版如下:
style=xlwt。XFStyle()
#设置字体
font=xlwt。字体()
#例如,设置字体加粗和下划线
font.bold=True
font.underline=True
style.font=font
#然后申请
ws.write(2,1,“测试”,样式)
后续几个属性的设置都是类似的,都是4步走:
获取XFStyle并获取相应的必需属性。比如这里的Font对象设置具体的属性值,最后在write方法写数据的时候应用。
2.定制Excel表格样式
先来看单元格对齐怎么设置:
#单元格对齐
对齐=xlwt。对齐()
#水平对齐和垂直对齐
alignment.horz=xlwt。对齐。水平中心
alignment.vert=xlwt。对齐垂直中心
#自动换行
alignment.wrap=1
style.alignment=对齐
#然后申请
ws.write(2,1,测试
, style)
上面这个自动换行的属性还是蛮有用的,因为我们很多时候数据会比较长,最好再加上单元格的宽度属性一起使用,这样整体样式会好很多
单元格宽度设置:
# 设置单元格宽度,也就是某一列的宽度ws.col(0).width = 6666
4.单元格的背景色
背景色对应的属性是 Pattern
# 背景色pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
# 背景色为黄色
# 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta,
# 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow ,
# almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray
# ...
pattern.pattern_fore_colour = 5
style.pattern = pattern
# 然后应用
ws.write(2, 1, test, style)
5.单元格边框
边框属性是Borders
单元格边框就2类:颜色和边框线样式
可以分别设置上下左右边框的颜色和样式:
# 边框borders = xlwt.Borders()
# 边框可以分别设置top、bottom、left、right
# 每个边框又可以分别设置颜色和线样式:实线、虚线、无
# 颜色设置,其他类似
borders.left_colour = 0x40
# 设置虚线,其他类似
borders.bottom = xlwt.Borders.DASHED
style.borders = borders
# 然后应用
ws.write(2, 1, test, style)
特殊内容,比如超链接和公式
特殊内容一般主要会碰到这几类:超链接、公式和时间日期
处理这些特殊内容需要用到Formula
# 超链接link = HYPERLINK("http://www.baidu.com";"Baidu")
formula = xlwt.Formula(link)
ws.write(2, 0, formula)
# 公式也是类似
ws.write(1, 1, xlwt.Formula(SUM(A1,B1)))
# 时间
style.num_format_str = M/D/YY
ws.write(2, 1, datetime.datetime.now(), style)
以上就是用Python
将数据写入到Excel的全部内容了,下面我们再来看看怎么读取Excel中的数据做处理。
二、xlrd库读取Excel中的数据
1.读取Excel文件
同样的用xlrd库读取Excel的数据也是轻轻松松,先来看下实现代码:
# 先打开一个文件wb = xlrd.open_workbook(file_path)
# 获取第一个表
sheet1 = wb.sheet_by_index(0)
# 总行数
nrows = sheet1.nrows
# 总列数
ncols = sheet1.ncols
# 后面就通过循环即可遍历数据了
# 取数据
for i in range(nrows):
for j in range(ncols):
# cell_value方法取出第i行j列的数据
value = sheet1.cell_value(i, j)
print(value)
总结一下,分为一下几步:
首先通过xlrd库的open_workbook
方法打开Excel文件
然后通过sheet_by_index
方法获取表
然后分别获取表的行数和列数,便于后面循环遍历
根据列数和行数,循环遍历,通过cell_value方法获取每个单元格中的数据
2.工作表的相关操作
获取一个工作表,有多种方式:
# 通过索引sheet1 = wb.sheets()[0]
sheet1 = wb.sheet_by_index(0)
# 通过名字
sheet1 = wb.sheet_by_name(test)
# 获取所有表名
# sheet_names = wb.sheet_names()
获取某一行或某一列的所有数据:
# 获取行中所有数据,返回结果是一个列表tabs = sheet1.row_values(rowx=0, start_colx=0, end_colx=None)
# 返回一行一共有多少数据
len_value = sheet1.row_len(rowx=0)
row_values的三个参数分别是:行号、开始的列和结束的列,其中结束的列为None
表示获取从开始列到最后的所有数据
类似的还有获取某一列的数据:
cols = sheet1.col_values(colx=0, start_rowx=0, end_rowx=None)
3.处理时间数据
时间数据比较特殊,没发直接通过上面的cell_value
方法获取。需要先转换为时间戳,然后再格式化成我们想要的格式。
比如要获取Excel表格中,格式为2019/8/13 20:46:35的时间数据
# 获取时间time_value = sheet1.cell_value(3, 0)
# 获取时间戳
time_stamp = int(xlrd.xldate.xldate_as_datetime(time_value, 0).timestamp())
print(time_stamp)
# 格式化日期
time_rel = time.strftime("%Y/%m/%d", time.localtime(time_stamp))
print(time_rel)
基本也是三步走:
- 通过
cell_value
方法获取时间值 - 然后通过
xldate_as_datetime
方法获取时间戳 - 然后格式化一下
Excel文件是用Python处理数据时常会碰到的一类场景,有了xlwt 和 xlrd的帮助可以非常快速的导入和导出Excel数据。
到此这篇关于Python数据处理-导入导出excel数据的文章就介绍到这了,更多相关Python 导入导出excel数据内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。