广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python数据处理-导入导出excel数据
  • 163
分享到

Python数据处理-导入导出excel数据

2024-04-02 19:04:59 163人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一.xlwt库将数据导入excel1.将数据写入一个Excel文件2.定制Excel表格样式3.元格对齐4.单元格的背景色5.单元格边框二、xlrd库读取Excel中的数据1.读

前言:

python的一大应用就是数据分析了,而数据分析中,经常碰到需要处理Excel数据的情况。这里做一个Python处理Excel数据的总结,基本受用大部分情况。相信以后用Python处理Excel数据不再是难事儿!

一.xlwt库将数据导入Excel

1.将数据写入一个Excel文件

wb = xlwt.Workbook()
# 添加一个表
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开始计数的

2.定制Excel表格样式

表格样式一般主要有这么几块内容:字体、对齐方式、边框、背景色、宽度以及特殊内容,比如超链接、日期时间等。下面我们来分别看看用xlwt库怎么定制这些样式。

字体

xlwt库支持的字体属性也比较多,大概如下:

设置字体需要用到xlwt库的XFStyle类和Font类,代码模版如下:

style = xlwt.XFStyle()
 
# 设置字体
font = xlwt.Font()
# 比如设置字体加粗和下划线
font.bold = True
font.underline = True
style.font = font
 
# 然后应用
ws.write(2, 1, 'test', style)

后续几个属性的设置都是类似的,都是4步走:

  • 拿到XFStyle
  • 拿到对应需要的属性,比如这里的Font对象
  • 设置具体的属性值
  • 最后就是在write方法写入数据的时候应用就行

3.元格对齐

先来看单元格对齐怎么设置:

# 单元格对齐
alignment = xlwt.Alignment()
 
# 水平对齐方式和垂直对齐方式
alignment.horz = xlwt.Alignment.HORZ_CENTER
alignment.vert = xlwt.Alignment.VERT_CENTER
# 自动换行
alignment.wrap = 1
style.alignment = alignment
 
# 然后应用
ws.write(2, 1, 'test', 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数据内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python数据处理-导入导出excel数据

本文链接: https://www.lsjlt.com/news/163375.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python数据处理-导入导出excel数据
    目录一.xlwt库将数据导入Excel1.将数据写入一个Excel文件2.定制Excel表格样式3.元格对齐4.单元格的背景色5.单元格边框二、xlrd库读取Excel中的数据1.读...
    99+
    2022-11-13
  • fastadmin实现导出Excel和导入Excel数据
    public function export() { if ($this->request->isPost()) { require_once(VENDOR_...
    99+
    2023-08-31
    php Powered by 金山文档
  • C#通过NPOI导入导出数据EXCEL
    本文实例为大家分享了C#通过NPOI导入导出数据EXCEL的具体代码,供大家参考,具体内容如下 其实从数据库到服务器导入导出有很多方法,但是比较简单的有NPOI这个方法 准备工作,先...
    99+
    2022-11-13
  • 【python】导出mysql数据,输出excel!
    今天来说说,如果想要导出数据库里面的数据,并生成excel表格,该怎么操作,比较简单! 一.环境配置 这边需要安装pandas、pymysql、openpyxl三个库 os库 循环遍历安装所有库: ##想要安装的库的列表libs = ["...
    99+
    2023-09-05
    pandas openpyxl pymysql
  • SQL导入和导出Excel数据的语句
    本篇内容主要讲解“SQL导入和导出Excel数据的语句”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL导入和导出Excel数据的语句”吧!--从Excel文...
    99+
    2022-10-18
  • 数据导入导出
    数据导入导出设置数据导入/导出使用的目录1.查看默认使用目录及目录是否存在。mysql>show variables like "secure_file_priv";secure_...
    99+
    2022-10-18
  • python 如何导入excel数据
    你可以使用`pandas`库来导入Excel数据。下面是一个示例: ```pythonimport pandas as pd# 读取Excel文件data = pd.read_excel('data.xlsx')# 打印前几行数据print...
    99+
    2023-10-26
    python excel 开发语言
  • C#操作NPOI实现Excel数据导入导出
    目录1.NpoiExcelHelper.cs  Npoi操作Excel类2.WEB项目的调用方法首先在项目中引用NPOI,通过管理NuGet程序包,搜索NPOI,...
    99+
    2023-02-15
    C# NPOI Excel数据导入导出 C# Excel数据导入导出 C# NPOIExcel
  • Python将数据库数据导入到EXCEL
          每次给运营导数据的时候,如果不用工具的话,就是直接生成.csv格式的文件,这样的文件不支持'sheet',每次还有手工进行,相当的不科学,今天试试Python生成excel文件。        写的糙了点,但是这是一个很好的开始...
    99+
    2023-01-31
    导入到 数据库 数据
  • python pandas库导出数据到excel
    利用pandas库导出数据到excel,代码如下 import pandas as pd# 数据格式1,字典形式mydic = { '姓名': ['张三', '李四', '王五'], '年龄': [18, 20, 22] ...
    99+
    2023-10-05
    python pandas excel
  • oracle 数据导入导出
    I am the new of Oracle , and that i need to learn more about it . But as you know , here is the company...
    99+
    2022-10-18
  • 数据泵导出导入
    出于许多原因,我们期望从某个数据库中提取大量数据以及关联的对象定义,并且采用一种更容易的方式将这些数据载入到另一个数据库中。备份就是其中一个重要原因,另外可能需要在生产与测试环境之间或联机系统与数据仓库之...
    99+
    2022-10-18
  • C#使用NPOI对Excel数据进行导入导出
    目录一、概述1、操作Excel的类库:2、引用DLL程序集构成二、通过NPOI,将Excel文件导到数据表DataTable四、常见用法:1、查找2、插入图片五、填充Excel模板六...
    99+
    2022-11-13
  • Java导出数据到Excel
    Java导出数据到Excel分3步处理 1、构建Workbook 数据 2、设置Workbook 格式 3、导出到Excel 1、构建Workbook 数据 public static void b...
    99+
    2023-09-04
    java excel 开发语言
  • 数据库怎么导入导出数据
    本篇内容主要讲解“数据库怎么导入导出数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据库怎么导入导出数据”吧!语法:create or replace di...
    99+
    2022-10-18
  • Oracle之数据泵导入/导出数据
    以前习惯用imp/exp导入导出数据,现在我们来搞一把数据泵导入导出的方法。它比之于imp/exp的方式的优点自不必说---速度快! 但是很不幸,我在导出数据的时候报错了,我擦,这特么就尴尬了。于是,神技乍...
    99+
    2022-10-18
  • Java导出Excel模板,导出数据到指定模板,通过模板导入数据(一)
    本文章主要是介绍阿里巴巴的easyexcel的使用 首先需要我们导入easyexcel的依赖包 com.alibaba easyexcel 2.2.7 ...
    99+
    2023-09-02
    java
  • 【Mysql Workbench导入excel数据】
    使用Workbench导入excel表插入数据库表: 导入excel表就可以快速的插入多条数据,比如需要随机生成一些假数据到数据库表的话,数量要求比较多的情况下,使用excel生成数据再导入就很快 步...
    99+
    2023-09-16
    mysql excel 数据库
  • mysql数据库导入、导出
    终端命令操作(导出) 导出整个库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root-p blog > ./blog.sql   2导出某个表 mysqldump -u 用户名 ...
    99+
    2020-08-22
    mysql数据库导入 导出
  • MongoDB数据导入导出(8)
    导出数据 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的,所以,都有如下通用选项。 利用mongoexport -h host 主机 -port 端口 -d 知名使用的库 -c 指明要导出的集合 -o 指明要导出...
    99+
    2014-12-22
    MongoDB数据导入导出(8)
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作