最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python-docx把dataframe表格添加到word文件中

 更新時(shí)間:2023年08月22日 15:03:14   作者:呆萌的代Ma  
用Python-docx庫(kù),可以輕松地添加表格到Word文檔中,本文主要介紹了python-docx把dataframe表格添加到word文件中,感興趣的可以了解一下

python-docx把dataframe表格添加到word文件中思路較為簡(jiǎn)單:

  • 先把dataframe格式轉(zhuǎn)變?yōu)?code>table
  • 新建一個(gè)段落:document.add_paragraph()
  • table添加到這個(gè)段落下方

效果圖

示例代碼

from docx import Document, oxml
import pandas as pd
import numpy as np
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
import random
# 設(shè)置 table 的邊框,用法與 cell 類似
def set_table_boarder(table, **kwargs):
    """
    Set table`s border
    Usage:
    set_table_border(
        cell,
        top={"sz": 12, "val": "single", "color": "#FF0000"},
        bottom={"sz": 12, "color": "#00FF00", "val": "single"},
        left={"sz": 24, "val": "dashed"},
        right={"sz": 12, "val": "dashed"},
    )
    """
    borders = OxmlElement('w:tblBorders')
    for tag in ('bottom', 'top', 'left', 'right', 'insideV', 'insideH'):
        edge_data = kwargs.get(tag)
        if edge_data:
            any_border = OxmlElement(f'w:{tag}')
            for key in ["sz", "val", "color", "space", "shadow"]:
                if key in edge_data:
                    any_border.set(qn(f'w:{key}'), str(edge_data[key]))
            borders.append(any_border)
            table._tbl.tblPr.append(borders)
    return table
def set_table_singleBoard(table):
    """為表格添加邊框"""
    return set_table_boarder(
        table,
        top={"sz": 4, "val": "single", "color": "#000000"},
        bottom={"sz": 4, "val": "single", "color": "#000000"},
        left={"sz": 4, "val": "single", "color": "#000000"},
        right={"sz": 4, "val": "single", "color": "#000000"},
        insideV={"sz": 4, "val": "single", "color": "#000000"},
        insideH={"sz": 4, "val": "single", "color": "#000000"}
    )
def convert_df_to_table(document, dataframe: pd.DataFrame, index_list=None, column_list=None):
    """把table轉(zhuǎn)為dataframe
    :param document: 文檔對(duì)象
    :param dataframe: dataframe格式數(shù)據(jù)
    :param index_list: 最左邊一列顯示的內(nèi)容
    :param column_list: (第一行)列名稱需要顯示的內(nèi)容
    """
    rows = dataframe.shape[0]
    cols = dataframe.shape[1]
    if index_list is not None:
        cols += 1
    if column_list is not None:
        rows += 1
    table = document.add_table(rows=rows, cols=cols)
    row_i = 0
    col_i = 0
    if index_list is not None:
        raise
    if column_list is not None:
        hdr_cells = table.rows[row_i].cells
        for _col_i, _v in enumerate(column_list):
            hdr_cells[_col_i].text = str(_v)
        row_i += 1
    for _i, series_info in enumerate(dataframe.iterrows()):
        series = series_info[1]
        hdr_cells = table.rows[row_i + _i].cells
        for _c_i, _cell_value in enumerate(series):
            hdr_cells[col_i + _c_i].text = str(_cell_value)
    return table
def main():
    # 1. 把要插入的數(shù)據(jù)調(diào)整為dataframe格式
    dataframe = pd.DataFrame({
        "列1": [round(random.random(), 2) for _ in range(3)],
        "列2": [round(random.random(), 2) for _ in range(3)],
        "列3": [round(random.random(), 2) for _ in range(3)],
    })
    document = Document()
    # 2. 插入表格
    table = convert_df_to_table(document, dataframe, column_list=dataframe.columns.tolist())
    table = set_table_singleBoard(table)  # 表格添加邊框
    base_paragraphs = document.add_paragraph("下面插入表格:")
    base_paragraphs._p.addnext(table._tbl)
    # 3. 保存修改后的結(jié)果
    document.save('測(cè)試_添加表格.docx')  # 保存后導(dǎo)出
if __name__ == '__main__':
    main()

上述代碼會(huì)得到如下效果圖:

到此這篇關(guān)于python-docx把dataframe表格添加到word文件中的文章就介紹到這了,更多相關(guān)python docx把表格添加到word內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • numpy.insert()的具體使用方法

    numpy.insert()的具體使用方法

    本文主要介紹了numpy.insert()的具體使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • PyTorch的nn.Module類的定義和使用介紹

    PyTorch的nn.Module類的定義和使用介紹

    在PyTorch中,nn.Module類是構(gòu)建神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)類,所有自定義的層、模塊或整個(gè)神經(jīng)網(wǎng)絡(luò)架構(gòu)都需要繼承自這個(gè)類,本文介紹PyTorch的nn.Module類的定義和使用介紹,感興趣的朋友一起看看吧
    2024-01-01
  • Pandas 數(shù)據(jù)清洗的具體使用

    Pandas 數(shù)據(jù)清洗的具體使用

    很多數(shù)據(jù)集存在數(shù)據(jù)缺失、數(shù)據(jù)格式錯(cuò)誤、錯(cuò)誤數(shù)據(jù)或重復(fù)數(shù)據(jù)的情況,本文主要介紹了Pandas 數(shù)據(jù)清洗的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • opencv python 圖像輪廓/檢測(cè)輪廓/繪制輪廓的方法

    opencv python 圖像輪廓/檢測(cè)輪廓/繪制輪廓的方法

    這篇文章主要介紹了opencv python 圖像輪廓/檢測(cè)輪廓/繪制輪廓的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • PyCharm新建項(xiàng)目時(shí)如何配置項(xiàng)目的Python解釋器詳解

    PyCharm新建項(xiàng)目時(shí)如何配置項(xiàng)目的Python解釋器詳解

    在PyCharm中配置Python環(huán)境是開發(fā)者日常工作中的一項(xiàng)重要任務(wù),尤其當(dāng)接手已有項(xiàng)目時(shí),這篇文章主要給大家介紹了關(guān)于PyCharm新建項(xiàng)目時(shí)如何配置項(xiàng)目的Python解釋器的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-06-06
  • Python面向?qū)ο笾^承和多態(tài)用法分析

    Python面向?qū)ο笾^承和多態(tài)用法分析

    這篇文章主要介紹了Python面向?qū)ο笾^承和多態(tài)用法,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中繼承與多態(tài)的原理及相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • python實(shí)現(xiàn)順序表的簡(jiǎn)單代碼

    python實(shí)現(xiàn)順序表的簡(jiǎn)單代碼

    這篇文章主要為大家詳細(xì)介紹了順序表定義及python實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Python中的id()函數(shù)指的什么

    Python中的id()函數(shù)指的什么

    id() 函數(shù)用于獲取對(duì)象的內(nèi)存地址。很多朋友不清楚python中的id函數(shù)到底是什么?接下來(lái)小編給大家分享本文幫助大家學(xué)習(xí)
    2017-10-10
  • 關(guān)于python爬蟲應(yīng)用urllib庫(kù)作用分析

    關(guān)于python爬蟲應(yīng)用urllib庫(kù)作用分析

    這篇文章主要介紹了關(guān)于python爬蟲應(yīng)用urllib庫(kù)作用分析,想要進(jìn)行python爬蟲首先我們需要先將網(wǎng)頁(yè)上面的信息給獲取下來(lái),這就是utllib庫(kù)的作用,有需要的朋友可以借鑒參考下
    2021-09-09
  • Python使用Flask框架同時(shí)上傳多個(gè)文件的方法

    Python使用Flask框架同時(shí)上傳多個(gè)文件的方法

    這篇文章主要介紹了Python使用Flask框架同時(shí)上傳多個(gè)文件的方法,實(shí)例分析了Python中Flask框架操作文件實(shí)現(xiàn)上傳的技巧,需要的朋友可以參考下
    2015-03-03

最新評(píng)論

潢川县| 定南县| 于都县| 乐山市| 固镇县| 蚌埠市| 抚松县| 吉林市| 霍城县| 易门县| 琼结县| 东方市| 驻马店市| 云安县| 靖西县| 南阳市| 隆尧县| 洪雅县| 安阳县| 娱乐| 昌黎县| 庆阳市| 建始县| 托里县| 扶余县| 罗平县| 梨树县| 宜都市| 吉隆县| 连平县| 揭西县| 类乌齐县| 饶河县| 枣庄市| 荥经县| 英吉沙县| 香港| 濮阳县| 宁明县| 东阳市| 教育|