Py学习  »  Python

Python生成excel文件的三种方式

大侠学Python • 1 月前 • 57 次点击  
在我们做平常工作中都会遇到操作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/168158
 
57 次点击