Python中多种方法生成Excel文件的数据

xlwt

import xlwt

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列')

for i in range(3):
    for j in range(2):
        ws.write(i, j, f'第{i+1}行,第{j+1}列')

# 保存excel文件
wb.save('./test.xls')

效果:

openpyxl

from openpyxl import Workbook

outwb = Workbook()
outws = outwb.worksheets[0]

mongoDB_data = [{'name':'周','age':18,'sex':'男'},
                {'name':'王','age':19,'sex':'男'},
                {'name':'李','age':16,'sex':'女'}]

outws.append(['姓名','年龄','性别'])  # 先添加一行表头
# 遍历外层列表
for new_dict in mongoDB_data:
    a_list = []
    # 遍历内层每一个字典dict,把dict每一个值存入list
    for item in new_dict.values():
        a_list.append(item)
    # sheet直接append list即可
    outws.append(a_list)

outwb.save(r'test.xlsx')
print('数据存入excel成功')

效果:

xlsxwriter

import xlsxwriter as xw


workbook = xw.Workbook('text.xls') # 创建工作簿
worksheet1 = workbook.add_worksheet("sheet1") # 创建子表
worksheet1.activate() # 激活表
title = ['姓名','年龄','性别'] # 设置表头
data = [['周',18,'男'],['王',19,'男'],['李',16,'女']]

worksheet1.write_row('A1',title) # 从A1单元格开始写入表头
i = 2 # 从第二行开始写入数据
for j in range(len(data)):
    insertData = [data[j][0],data[j][1],data[j][2]]
    row = 'A' + str(i)
    worksheet1.write_row(row, insertData)
    i += 1
workbook.close() # 关闭表

效果:

pandas

import pandas as pd

data = [['周','王','李'],[18,19,16],['男','男','女']]

dfData = { # 用字典设置DataFrame所需数据
        '姓名':data[0],
        '年龄':data[1],
        '性别':data[2]
    }
df = pd.DataFrame(dfData) # 创建DataFrame
df.to_excel('text.xlsx',index=False) # 存表,去除原始索引列(0,1,2...)

效果:

openpyxl

import openpyxl as op

data = [['周','王','李'],[18,19,16],['男','男','女']]
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('test.xlsx')

效果:

物联沃分享整理
物联沃-IOTWORD物联网 » Python中多种方法生成Excel文件的数据

发表评论