python怎么写入excel_Python写入Excel

xlsxwriter

xlrd:用于读取 Excel 文件;xlwt:用于写入 Excel 文件;xlutils:用于操作 Excel 文件的实用工具,比如复制、分割、筛选等;

https://xlsxwriter.readthedocs.io/

写入大.xlsx文件时使用内存优化模式。

pandas

http://pandas.pydata.org/

pandas支持.xls,.xlsx文件的读写。

openpyxl

openpyxl是一个用于读取和编写Excel 2010之后的 xlsx/xlsm/xltx/xltm文件的库。

https://openpyxl.readthedocs.io/en/stable/

1、加载大.xlsx文件可以使用read_only模式。

2、写入大.xlsx文件可以使用write_only模式。

类型

xlrd&xlwt&xlutils

pandas

OpenPyXL

读取

支持

支持

支持

写入

支持

支持

支持

修改

支持

支持

支持

xls

支持

支持

不支持

xlsx

高版本支持

支持

支持

大文件

不支持

支持

支持

效率

功能

较弱

强大

一般

速度

最快

较快

import xlsxwriter as xw

import pandas as pd

import openpyxl as op

def get_data():

orderIds = [1, 2, 3]

items = ['A', 'B', 'C']

myData = ["风犬少年的天空", "重启", "半泽直树"]

testData = [orderIds, items, myData]

return testData

# filename2 = '测试2.xlsx'

# filename3 = '测试3.xlsx'

# xlsxwriter 一行一行写

def xw_toexcel(data, file_name):

""" 通过 xlsxwriter 方式 """

# 创建工作簿

workbook = xw.Workbook(file_name)

# 创建子表

worksheet = workbook.add_worksheet("sheet")

# 激活表

worksheet.activate()

# 设置表头

title = ['序号', '等级', '名称']

# 从A1单元格开始写入表头

worksheet.write_row('A1', title)

# 从第二行开始写入数据

i = 2

for j in range(len(data)):

insertData = [data[0][j], data[1][j], data[2][j]]

row = 'A' + str(i)

worksheet.write_row(row, insertData)

i += 1

# 关闭表

workbook.close()

def pd_toexcel(data, file_name):

""" pandas方式 """

# 用字典设置DataFrame所需数据

dfData = {

'序号': data[0],

'等级': data[1],

'名称': data[2]

}

# 创建DataFrame

df = pd.DataFrame(dfData)

# 存表,去除原始索引列(0,1,2...)

df.to_excel(file_name, index=False)

def op_toexcel(data, file_name):

""" openpyxl方式 """

# 创建工作簿对象

wb = op.Workbook()

# 创建子表

ws = wb['Sheet']

# 添加表头

ws.append(['序号', '等级', '名称'])

for i in range(len(data[0])):

d = data[0][i], data[1][i], data[2][i]

# 每次写入一行

ws.append(d)

wb.save(file_name)

def main():

# xw_toexcel(get_data(), '测试1.xlsx')

# pd_toexcel(get_data(), '测试2.xlsx')

op_toexcel(get_data(), '测试3.xlsx')

if __name__ == '__main__':

main()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值