社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python生成excel文件的三种方式

大侠学Python • 1 年前 • 495 次点击  

转自:Python专栏

在我们做平常工作中都会遇到操作excel,那么今天写一篇,如何通过python操作excel。当然python操作excel的库有很多,比如pandas,xlwt/xlrd,openpyxl等,每个库都有不同的区别,具体的区别,大家一起来看看吧~


 xlwt/xlrd


  • xlrd是对于Excel进行读取,xlrd 操作的是xls/xlxs格式的excel

  • xlwt是对于Excel进行读取,xlwt操作的是xls格式的excel


安装

xlrd是python的第3方库,需要通过pip进行安装

pip install xlrd


1、导入xlrd模块

2、打开Excel完成实例化

3、通过下标获取对应的表(可以通过表名获取)

4、通过列,行或者坐标获取表格的数据


安装

xlwt属于python的第3方库,需要通过pip进行安装

pip install xlwt


写入Excel数据

1、首先导入xlwt第3方库

2、创建一个workbook模块,相当于创建一个xlwt文件

3、通过add_sheet创建一个表格

4、使用write函数进行对表完成写的操作

5、把写完的数据导入到Excel中


 openpyxl


OpenPyXl是一个Python的模块  可以用来处理excle表格


安装:

xlrd是python的第3方库,需要通过pip进行安装

pip install openpyxl


使用时在代码内 from openpyxl import Workbook或者from openpyxl import load_workbook


区别在于前者不需要有excle文件存在  后者需要传入一个excle文件


前者可以凭空产生一个  后者不行


使用openpyxl 写入Excel数据

1、获取workbook
2、获取 worksheet
3、再然后 获取单元格  进行操作
4、保存文件


 pandas


写入Excel中数据的除了xlwt和openpyxl之外。Pandas也是可以实现这种功能的。


它纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具,能使我们快速便捷地处理数据。接下来我们就看看如何用pandas读写excel。


1. 读取excel

读取excel主要通过read_excel函数实现,除了pandas还需要安装第三方库xlrd。


2. 写入excel

写入excel主要通过pandas构造DataFrame,调用to_excel方法实现。


今天我们准备读取的数据是之前爬取瓜子二手车网站的一些数据,部分数据展示如下:



我们今天要展示的就是使用上述介绍的三种方法将txt文档的数据写入到excel中。





    
# 标题列表
columns = []
# 数据列表
datas = []

with open('二手车.txt', encoding='utf-8') as fin:
    # 首行判断
    is_first_line = True
    for line in fin:
        line = line[:-1]
        if is_first_line:
            is_first_line = False
            columns = line.split('\t')
            continue
        datas.append(line.split('\t'))

ic(columns)
ic(datas)


读取的行列表和数据列表数据展示如下:



数据成功读取出来,接下来我们使用三种方式写入到excel中


使用xlwt生成xls的excel文件

# 使用xlwt生成xls的excel文件
import xlwt

workbook = xlwt.Workbook(encoding='utf-8')
sheet = workbook.add_sheet('瓜子二手车')

for col, column in enumerate(columns):
    sheet.write(0, col, column)

for row, data in enumerate(datas):
    for col, column_data in enumerate(data):
        sheet.write(row+1, col, column_data)

workbook.save('瓜子二手车1.xls')



使用openpyxl生成xlsx的excel文件

# 使用openpyxl生成xlsx的excel文件
from openpyxl import Workbook
workbook = Workbook()

sheet = workbook.active
sheet.title = '默认title'
sheet.append(columns)
for data in datas:
    sheet.append(data)
workbook.save('瓜子二手车2.xlsx')



使用pandas生成xlsx的excel文件

# 使用pandas生成xlsx的excel文件
import pandas as pd
rcv_data = pd.read_csv('二手车.txt', sep='\t')
rcv_data.head()
ic(rcv_data)
rcv_data.to_excel('瓜子二手车3.xlsx', index = False)



以上就是今天给大家介绍的三种数据写入excel的方法,这写方法在实际工作中需求还是很高的,有兴趣的小伙伴可以操作一下。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/156152
 
495 次点击