在 Python 中將字典內容保存到 Excel 文件

目錄:

    • 使用 Pandas 轉 Excel
    • 使用 Openpyxl 轉 Excel
    • 使用 xlsxwriter 轉 Excel
    • 使用 csv 轉 Excel

Python 中的字典是一個數據集合,其中每個值對應一個鍵。它們是無序的、可變的,并且對字典中存儲的值和鍵的數據類型沒有限制。Python 程序員經常需要在不同格式之間傳輸數據,將字典導出到 Excel 是一項常見的任務。

使用 Pandas 轉 Excel

Pandas 提供了一個簡單的 to_excel() 方法可以將 DataFrame 轉換為 Excel 文件。

通過先將字典轉換為 DataFrame,然后可以使用 to_excel() 方法有效地將數據導出到 Excel 文件。

import pandas as pd
dct = {'Name': ['Li', 'Wang', 'Zhang'],'Age': [17, 16, 18],'Origin': ['BeiJing', 'TianJin', 'ShangHai']}# 字典轉 DataFrame
df = pd.DataFrame(dct)# DataFrame 寫入 Excel
df.to_excel('output.xlsx', index=False)

以上示例,將字典轉換為 pandas DataFrame,其中鍵成為列標題,值成為數據行。to_excel() 方法將 DataFrame 導出到 Excel 文件,其中 index=False 確保 DataFrame 的索引不會作為額外的列包含在 Excel 文件中。

使用 Openpyxl 轉 Excel

使用 Openpyxl 設置 Excel 工作簿,然后將字典鍵作為標題行,表達式 zip(*data_dict.values()) 提取字典中的值作為數據行。

from openpyxl import Workbook
dct = {'Name': ['Li', 'Wang', 'Zhang'],'Age': [17, 16, 18],'Origin': ['BeiJing', 'TianJin', 'ShangHai']}wb = Workbook()
ws = wb.active# 將字典的鍵作為標題行
ws.append(list(dct.keys()))# 將字典的值作為數據行添加
for row in zip(*dct.values()):ws.append(row)wb.save('output.xlsx')

使用 xlsxwriter 轉 Excel

XlsxWriter 是一個用于處理 Excel 文件的 Python 模塊。可以靈活的創建 Excel 文件、添加工作表,添加數據。

import xlsxwriter
dct = {'Name': ['Li', 'Wang', 'Zhang'],'Age': [17, 16, 18],'Origin': ['BeiJing', 'TianJin', 'ShangHai']}# 創建 Excel 文件,并添加一個工作表
workbook = xlsxwriter.Workbook('output.xlsx')
worksheet = workbook.add_worksheet()# 起始位置
row, col = 0, 0# 寫入鍵值
for key in dct.keys():worksheet.write(row, col, key)col += 1for i, key in enumerate(dct.keys()):for j, item in enumerate(dct[key]):worksheet.write(j+1, i, item)workbook.close()

使用 csv 轉 Excel

csv 模塊實現用于以 CSV 格式讀取和寫入表格數據。 CSV 文件可以用 Excel 打開、處理。

import csv
dct = {'Name': ['Li', 'Wang', 'Zhang'],'Age': [17, 16, 18],'Origin': ['BeiJing', 'TianJin', 'ShangHai']}with open('output.csv', 'w', newline='') as csvfile:writer = csv.DictWriter(csvfile, fieldnames=dct.keys(), dialect='excel')writer.writeheader()writer.writerows([{'Name': name, 'Age': age, 'Origin': origin} for name, age, origin in zip(dct['Name'], dct['Age'], dct['Origin'])])

將字典導出到 Excel 對于 Python 數據分析人員來說是一項常用的技能。借助 openpyxl 和 pandas 等庫,可以輕松地將詞典轉換為 Excel 文件,有效地呈現和分析數據。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37465.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37465.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37465.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【SpringCloud】Ribbon源碼解析

ribbon是一個負載均衡組件,它可以將請求分散到多個服務提供者實例中,提高系統的性能和可用性。本章分析ribbon是如何實現負載均衡的 1、LoadBalanced 消費者在引入ribbon組件后,給http客戶端添加LoadBalanced注解就能啟用負載均衡功能。Load…

壓縮包怎么解壓,解壓壓縮包不損壞文件

常見格式: ZIP:最常見的壓縮文件格式之一,支持跨平臺。RAR:另一種常見的壓縮文件格式,通常壓縮率比ZIP高,但不如ZIP普及。7Z:來自7-Zip的壓縮格式,支持更高的壓縮率和一些高級特性。…

手機照片數據恢復,2個技巧解決你的疑惑與困擾

手機照片是我們日常生活中記錄美好瞬間的重要工具,然而,當照片存儲量越來越大,以至于手機內存不足時,我們就不得不放棄一部分。照片數據恢復是否還有希望呢?當然啦!本文將為你提供2個實用的技巧&#xff0c…

虛擬機配置與windows之間文件夾共享samba服務:

虛擬機配置與windows之間文件夾共享samba服務: #輸入安裝命令: 第一步: 下載samba cd /etc/ sudo apt-get install samba第二步: 配置用戶 sudo smbpasswd -a 虛擬機用戶名第三步: 進入配置文件配置共享文件 sudo vim /etc/samba/smb.conf末尾輸入以下內容: [s…

經典遞歸題 擴充序列 兩種做法

一道經典遞歸題,兩種做法,常規遞歸做法和模擬數學規律解法 3695. 擴充序列 - AcWing題庫 擴充序列 樣例解釋 對于樣例 1,經過 2 次擴充,得到序列 [1,2,1,3,1,2,1]其第 2 個元素為 2。 對于樣例 2,經過 3次擴充&…

針對airtest的poco標簽正則匹配

1.text屬性方式定位 poco(text“中古屋”) 換成正則表達式定位 poco(textMatches“正則表達式”) poco(textMatches".*中古屋") 2.name屬性方式定位 poco(name‘com.addcn.android.house591:id/grid_item_text’) 換成正則表達式定位 poco(nameMatches“正則表…

Linux下如何設置可執行文件和庫文件的環境變量?

在Linux系統中,可執行文件和庫文件的查找路徑是由環境變量控制的,其中最重要的是PATH環境變量用于可執行文件,而動態庫的查找路徑則由LD_LIBRARY_PATH環境變量決定。下面分別介紹這兩個方面: 可執行文件的搜索路徑(PA…

對不起,AI大模型不是風口

“我們正處在全新起點,這是一個以大模型為核心的人工智能新時代,大模型改變了人工智能,大模型即將改變世界。”——5月26日,百度創始人、董事長兼CEO李彥宏先生在2023中關村論壇發表了《大模型改變世界》演講。 李彥宏指出&#…

【SpringCloud】Hystrix源碼解析

hystrix是一個微服務容錯組件,提供了資源隔離、服務降級、服務熔斷的功能。這一章重點分析hystrix的實現原理 1、服務降級 CAP原則是分布式系統的一個理論基礎,它的三個關鍵屬性分別是一致性、可用性和容錯性。當服務實例所在服務器承受過大的壓力或者受…

c++【入門】挖胡蘿卜

限制 時間限制 : 1 秒 內存限制 : 128 MB 題目 小兔朱迪挖了x個胡蘿卜,狐貍尼克挖到胡蘿卜數量是小兔挖到的3倍,小羊肖恩挖到胡蘿卜的數量比狐貍尼克少8個; 請你編程計算一下狐貍尼克和小羊肖恩分別挖了幾個胡蘿卜,以及平均每…

前端工程化09-webpack靜態的模塊化打包工具(未完結)

9.1、開發模式的進化歷史 webpacks是一個非常非常的強大的一個工具,相應的這個東西的學習也是有一定的難度的,里邊的東西非常的多,里面涉及到的 概念的話也是非常非常的多的。 這個東西既然非常重要,那么在我們前端到底處于怎樣…

HCIA4.26-5.10

OSPF ——開放式最短路徑優先協議 無類別鏈路狀態IGP動態路由協議 距離矢量協議 運行距離矢量協議的路由器會周期性的泛洪自己的路由表,通過路由之間的交互,每臺路由器都從相鄰的路由器學習到路由條目,隨后加載進自己的路由表中。對于網絡…

GD32 開發筆記

0x01 GPIO時鐘使能的坑 使用GD32的GPIO引腳來控制 74HC595 ,發現引腳一直無法控制,始終輸出3.3v,初始化環節應該是出了問題。用通俗的話來說,就是點燈點不亮 排查了MCU、光耦隔離芯片、被強行上拉等問題,最后發現是G…

Python代碼分析和修復工具庫之coala使用詳解

概要 代碼質量在軟件開發中至關重要,保持代碼的可讀性、一致性和易維護性是每個開發者的目標。coala 是一個開源的代碼分析和修復工具,旨在幫助開發者自動化代碼質量檢查,支持多種編程語言,包括 Python、C++、JavaScript 等。通過使用 coala,開發者可以方便地集成代碼檢查…

AI時代的軟件工程:挑戰與改變

人工智能(AI)正以驚人的速度改變著我們的生活和工作方式。作為與AI關系最為密切的領域之一,軟件工程正經歷著深刻的轉變。 1 軟件工程的演變 軟件工程的起源 軟件工程(Software Engineering)是關于如何系統化、規范化地…

input調用手機攝像頭實現拍照功能vue

項目需要一個拍照功能&#xff0c;實現功能如下圖所示:若使用瀏覽器則可以直接上傳圖片&#xff0c;若使用手機則調用手機攝像頭拍照。 1.代碼結構 <!--input標簽--> <input ref"photoRef"type"file"accept"image/*"capture"envir…

Leetcode 3202. Find the Maximum Length of Valid Subsequence II

Leetcode 3202. Find the Maximum Length of Valid Subsequence II 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;3202. Find the Maximum Length of Valid Subsequence II 1. 解題思路 這一題的話是上一題3201. Find the Maximum Length of Valid Subsequence I的升級版&am…

基于多源數據的密碼攻防領域知識圖譜構建

源自&#xff1a; 信息安全與通信保密雜志社 作者&#xff1a;曹增輝 , 郭淵博 , 黃慧敏 摘 要 提高網絡空間安全的密碼攻防能力&#xff0c;需要形成可表示、可共享、可分析的領域知識模式和知識庫。利用自頂向下的構建方法&#xff0c;并通過本體構建方法梳理密碼攻防領域…

IPSec:互聯網協議安全機制的深度解析與應用

目錄 一、IPSec概述 二、IPSec的組成 三、IPSec的工作原理 四、IPSec的用途 IPSec&#xff08;Internet Protocol Security&#xff09;作為現代網絡通信中不可或缺的安全基礎設施&#xff0c;旨在為基于IP&#xff08;Internet Protocol&#xff09;的數據傳輸提供端到端的…

MySQL數據庫鎖詳解

MySQL數據庫鎖詳解 在多用戶環境下&#xff0c;數據庫鎖用于保證事務的完整性和數據的一致性。MySQL提供了多種不同類型的鎖&#xff0c;以適應不同的并發需求和性能考慮。本文將詳細介紹MySQL中的鎖機制&#xff0c;包括鎖的類型、鎖定機制的原理以及如何管理鎖。 1. 鎖的類…