IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python - xlwt和openpyxl和xlwtwriter写Excel文件示例 -> 正文阅读

[Python知识库]python - xlwt和openpyxl和xlwtwriter写Excel文件示例

import traceback
import xlwt
import openpyxl
import xlsxwriter
from loguru import logger


def write_Excel_multi_sheets(file_name, excel_prepare_datas):
    """
    数据写入Excel表格,支持一个Excel文件写入多个sheet
    :param file_name: 文件名称,例如: './test.xlsx'
    :param excel_prepare_datas:
           example:
           excel_prepare_datas = [
        {"head": ["时间", "销量"], "data": [["2020-02-04", 1], ["2020-02-03", 2]], "title": "饼图"},
        {"head": ["彩虹", "彩虹桥"], "data": [["是", 1], ["否", 2]], "title": "折线图"}]
        "head":表头, "data":数据, "title": sheet_name
    :return:
    """
    outwb = openpyxl.Workbook()  # 打开一个将写的文件
    index = 0
    for origin_data in excel_prepare_datas:
        title = origin_data.get('title')
        data = origin_data.get('data')
        head = origin_data.get('head')

        outws = outwb.create_sheet(title=title, index=index)  # 在将写的文件创建sheet
        for row in range(1, len(data) + 2):
            for col in range(1, len(head) + 1):
                if row == 1:
                    outws.cell(row, col).value = head[col-1]  # 写文件
                else:
                    outws.cell(row, col).value = data[row - 2][col - 1]
        index += 1
    outwb.save(file_name)  # 一定要记得保存
    return file_name


# 导出excel/csv
def write_to_excel(head_datas, chic_datas, sheet_name1, save_path):
    try:
        wb = xlwt.Workbook(encoding="utf-8")
        ws = wb.add_sheet(sheet_name1, cell_overwrite_ok=True)
        # 表头
        ws.write(0, 0, u"用户ID")
        ws.write(0, 1, u"公司名称")
        ws.write(0, 2, u"用户名称")
        # 设置列宽
        ws.col(0).width = 5000
        ws.col(1).width = 5000
        ws.col(2).width = 5000

        # 不可用,不生效,不理解
        # for index, col_title in enumerate(head_datas):
        #     ws.write(0, index, col_title)
        #     ws.col(index).width = 5000
        # 不可用,不生效,不理解

        # 写数据
        for index, data in enumerate(chic_datas):
            index += 1  # 略过表头从1开始
            pre_query = data[0]
            query = data[1]
            pre_query2 = data[2]

            row = [pre_query, query, pre_query2]

            for i in range(len(row)):
                ws.write(index, i, row[i])
        wb.save(save_path)
    except Exception:
        traceback.print_exc()


def test(expenses):
    # 创建一个新的xlsx文件(如果原有同名文件会被覆盖)
    workbook = xlsxwriter.Workbook("Expenses01.xlsx")

    # 创建一个新的表单,默认名称为 “sheet1”,输入字符参数可指定名称
    worksheet = workbook.add_worksheet()

    # worksheet 默认是从0行、0列开始计数
    row = 0
    col = 0

    # worksheet.write 方法将数据写入 xlsx 表格中
    # 参数依次为:行号、列号、数据、[格式]
    for item, cost in expenses.items():
        worksheet.write(row, col, item)
        worksheet.write(row, col + 1, cost)
        row += 1

    # 显式关闭workbook,若不显式指定,则作用域结束后自动关闭
    workbook.close()


if __name__ == "__main__":
    pass
    # func.1
    # excel_prepare_datas = [
    #     {"head": ["时间", "销量"], "data": [["2020-02-04", 1], ["2020-02-03", 2]], "title": "饼图"},
    #     {"head": ["彩虹", "彩虹桥"], "data": [["是", 1], ["否", 2]], "title": "折线图"}
    # ]
    # file_name = write_Excel_multi_sheets('./test.xlsx', excel_prepare_datas)
    # logger.info(f"file_name = {file_name}")

    # func.2
    # logger.info(f"start ---")
    # save_path = './func2.xlsx'
    # sheet_name1 = 'func2-sheet1'
    # head_datas = ['用户ID', '公司名称', '用户名称']
    # chic_datas = [['001', 'company1', 'user1']]
    # write_to_excel('', chic_datas, sheet_name1, save_path)

    # func.3
    expenses = {
        '类别': '数量',
        'Rent': 1000,
        'Gas':  100,
        'Food':  300,
        'Gym':   50,
    }
    test(expenses)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:40:40  更:2021-12-11 15:42:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:50:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码