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()

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页