国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python:使用openpyxl讀取Excel文件轉(zhuǎn)為json數(shù)據(jù)

這篇具有很好參考價(jià)值的文章主要介紹了Python:使用openpyxl讀取Excel文件轉(zhuǎn)為json數(shù)據(jù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files

文檔

  • https://openpyxl.readthedocs.io/en/stable/
  • https://pypi.org/project/openpyxl/

安裝

pip install openpyxl

環(huán)境

$ python --version
Python 3.7.0

讀取文件示例:將Excel文件讀取為json數(shù)據(jù)

有如下一個(gè)文件 data.xlsx
Python:使用openpyxl讀取Excel文件轉(zhuǎn)為json數(shù)據(jù),Python,python,excel,json

實(shí)現(xiàn)代碼

# -*- coding: utf-8 -*-

import json

from openpyxl.reader.excel import load_workbook


def read_excel(filename):
    book = load_workbook(filename)
    worksheet = book.worksheets[0]

    row_num = 0
    titles = []
    lst = []

    for row in worksheet.rows:
        row_num += 1

        if row_num == 1:
            # 表頭
            for cell in row:
                # 移除空格
                value = cell.value.replace(' ', '')
                titles.append(value)
        else:
            # 內(nèi)容
            item = {}
            for key, cell in zip(titles, row):
                item[key] = cell.value

            lst.append(item)

    return lst


if __name__ == '__main__':
    data = read_excel('./data.xlsx')
    print(json.dumps(data, ensure_ascii=False, indent=2))

輸出讀取的json數(shù)據(jù)

[
  {
    "姓名": "曹操",
    "國(guó)家": "魏國(guó)"
  },
  {
    "姓名": "劉備",
    "國(guó)家": "蜀國(guó)"
  },
  {
    "姓名": "孫權(quán)",
    "國(guó)家": "吳國(guó)"
  }
]

讀寫(xiě)示例文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-607092.html

# -*- coding: utf-8 -*-
"""
@File    : excel_util.py
@Date    : 2023-11-16
"""
import re

from openpyxl import Workbook
from openpyxl.reader.excel import load_workbook
from openpyxl.utils import get_column_letter


def read_excel(filename):
    """
    讀取excel文件為python對(duì)象
    :param filename:
    :return: iterator
    """
    book = load_workbook(filename)
    worksheet = book.worksheets[0]

    titles = []
    row_num = 0

    for row in worksheet.rows:
        row_num += 1

        if row_num == 1:
            # 表頭
            titles = [cell.value.strip() for cell in row]
        else:
            # 內(nèi)容
            yield dict(zip(titles, [cell.value for cell in row]))

    book.close()


def write_excel(filename, rows):
    """
    將列表寫(xiě)入到文件
    :param filename:
    :param rows: list
    :return:
    """
    workbook = Workbook()
    worksheet = workbook.active


    # 表頭
    if len(rows) > 0:
        for i, key in enumerate(rows[0].keys()):
            worksheet.cell(row=1, column=i + 1, value=key)

    # 內(nèi)容
    for x, row in enumerate(rows):
        for y, value in enumerate(row.values()):
            worksheet.cell(row=x + 2, column=y + 1, value=value)

    # 調(diào)整列寬
    # 參考:https://blog.csdn.net/gongzairen/article/details/130819231
    width = 3  # 手動(dòng)加寬的數(shù)值
    # 單元格列寬處理
    dims = {}
    for row in worksheet.rows:
        for cell in row:
            if cell.value:
                cell_len = 0.7 * len(re.findall('([\u4e00-\u9fa5])', str(cell.value))) + len(str(cell.value))
                dims[cell.column] = max((dims.get(cell.column, 0), cell_len))

        for col, value in dims.items():
            worksheet.column_dimensions[get_column_letter(col)].width = value + width

    workbook.save(filename)
    workbook.close()

到了這里,關(guān)于Python:使用openpyxl讀取Excel文件轉(zhuǎn)為json數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python使用openpyxl添加圖片到excel文件中

    python使用openpyxl添加圖片到excel文件中

    圖片只能保存在某個(gè)sheet頁(yè)面中,因此首先打開(kāi)sheet頁(yè)面: 然后創(chuàng)建一個(gè)圖片: 最后保存即可: 最后的效果如下:

    2024年02月22日
    瀏覽(19)
  • Python——openpyxl讀取Excel表格(讀取、單元格修改、單元格加底色)

    Python——openpyxl讀取Excel表格(讀取、單元格修改、單元格加底色)

    ?? 歡迎來(lái)到Python辦公自動(dòng)化專欄—Python處理辦公問(wèn)題,解放您的雙手 ?????? 博客主頁(yè):一晌小貪歡的博客主頁(yè) ?? 該系列文章專欄:Python辦公自動(dòng)化專欄 文章作者技術(shù)和水平有限,如果文中出現(xiàn)錯(cuò)誤,希望大家能指正?? ?? 歡迎各位佬關(guān)注! ?? 如我在K列,增加了

    2024年03月20日
    瀏覽(30)
  • 利用MATLAB讀取.nc文件單像元數(shù)值并轉(zhuǎn)為Excel格式(以中國(guó)日降雨量月均數(shù)據(jù)為例)

    利用MATLAB讀取.nc文件單像元數(shù)值并轉(zhuǎn)為Excel格式(以中國(guó)日降雨量月均數(shù)據(jù)為例)

    ?以中國(guó)日降雨量月均數(shù)據(jù)(nc文件包含12月)為例,提取某經(jīng)緯度下的多月份像元值。 (【數(shù)據(jù)分享】1960-2020年中國(guó)1公里分辨率月降水?dāng)?shù)據(jù)集) 一、確定經(jīng)緯度所在行列 號(hào) 以 92.18E,30.475N 為例,首先在Matlab中輸入以下代碼: 工作區(qū)獲取到lat、lon和pre的信息,打開(kāi)lat和lon文件

    2024年02月07日
    瀏覽(49)
  • pandas讀取Excel核心源碼剖析,面向過(guò)程仿openpyxl源碼實(shí)現(xiàn)Excel數(shù)據(jù)加載

    pandas讀取Excel核心源碼剖析,面向過(guò)程仿openpyxl源碼實(shí)現(xiàn)Excel數(shù)據(jù)加載

    ??作者: 小小明-代碼實(shí)體 ??博客主頁(yè):https://blog.csdn.net/as604049322 ??歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 歡迎討論! 今天我們將研究pandas如何使用openpyxl引擎讀取xlsx格式的Excel的數(shù)據(jù),并考慮以面向過(guò)程的形式簡(jiǎn)單的自己實(shí)現(xiàn)一下。 截止目前本人所使用的pandas和openpyxl版本為:

    2023年04月19日
    瀏覽(29)
  • Python處理xlsx文件(讀取、轉(zhuǎn)為列表、新建、寫(xiě)入數(shù)據(jù)、保存)

    xlsxwriter**庫(kù)對(duì)于xslx表的列數(shù)不做限制, xlrd 庫(kù)不能寫(xiě)入超過(guò)65535行,256列的數(shù)據(jù)。 由于需要處理的數(shù)據(jù)行列數(shù)較多,遇到報(bào)錯(cuò)才發(fā)現(xiàn)庫(kù)的限制問(wèn)題,記錄一下。

    2024年02月12日
    瀏覽(89)
  • python讀取Excel指定范圍并轉(zhuǎn)為數(shù)組

    python讀取Excel指定范圍并轉(zhuǎn)為數(shù)組

    ?? ? ? ?最近需要讀取Excel中的內(nèi)容,然后進(jìn)行后續(xù)操作,對(duì)于這塊知識(shí),博主以前以為自己不會(huì)涉及到,但是現(xiàn)在一涉及到,第一步就錯(cuò)了,搞了好久。真的心累。因此寫(xiě)了這篇博客。? 目的:excel中存放著數(shù)據(jù),如果要進(jìn)行計(jì)算及其它操作,首先就要進(jìn)行讀取。 目錄 安裝

    2023年04月12日
    瀏覽(20)
  • 【辦公自動(dòng)化】使用Python批量處理Excel文件并轉(zhuǎn)為csv文件

    【辦公自動(dòng)化】使用Python批量處理Excel文件并轉(zhuǎn)為csv文件

    ???♂? 個(gè)人主頁(yè):@艾派森的個(gè)人主頁(yè) ???作者簡(jiǎn)介:Python學(xué)習(xí)者 ?? 希望大家多多支持,我們一起進(jìn)步!?? 如果文章對(duì)你有幫助的話, 歡迎評(píng)論 ??點(diǎn)贊???? 收藏 ??加關(guān)注+ 目錄 前言 一、Python處理Excel 二、批量處理Excel文件并轉(zhuǎn)為csv文件 三、往期推薦 ? ? ? ? ?

    2024年02月10日
    瀏覽(21)
  • Python模塊openpyxl & 操作Excel文件

    Python模塊openpyxl & 操作Excel文件

    簡(jiǎn)介 ????????openpyxl是一個(gè)用于讀取和編寫(xiě)Excel 2010 xlsx/xlsm/xltx/xltm文件的Python庫(kù)。openpyxl以Python語(yǔ)言和MIT許可證發(fā)布。 ????????openpyxl可以處理Excel文件中的絕大多數(shù)內(nèi)容,包括圖表、圖像和公式。它可以處理大量數(shù)據(jù),支持Pandas和NumPy庫(kù)導(dǎo)入和導(dǎo)出數(shù)據(jù)。Openpyxl還支持自

    2024年02月10日
    瀏覽(30)
  • 【一種使用瀏覽器讀取本地excel、josn等數(shù)據(jù)文件的方法】Python+JavaScript+HTML實(shí)現(xiàn)

    【一種使用瀏覽器讀取本地excel、josn等數(shù)據(jù)文件的方法】Python+JavaScript+HTML實(shí)現(xiàn)

    一般來(lái)說(shuō),為了網(wǎng)絡(luò)訪問(wèn)安全,瀏覽器是不能直接加載本地文件的,IE內(nèi)核的瀏覽器提供了AX控件實(shí)現(xiàn)本地文件的讀取,Chrome 86 版本后也提供了相應(yīng)的API,但都存在使用限制和兼容性問(wèn)題。有時(shí)開(kāi)發(fā)者只是想利用瀏覽器編制一些簡(jiǎn)單的腳本完成一些任務(wù),不想學(xué)習(xí)C、C++、Pyt

    2024年02月07日
    瀏覽(33)
  • Python讀取寫(xiě)入數(shù)據(jù)到Excel文件

    Python讀取寫(xiě)入數(shù)據(jù)到Excel文件

    【Linux干貨教程】Ubuntu Linux 換源詳細(xì)教程 大家好,我是洲洲,歡迎關(guān)注,一個(gè)愛(ài)聽(tīng)周杰倫的程序員。關(guān)注公眾號(hào)【程序員洲洲】即可獲得10G學(xué)習(xí)資料、面試筆記、大廠獨(dú)家學(xué)習(xí)體系路線等…還可以加入技術(shù)交流群歡迎大家在CSDN后臺(tái)私信我! Hello,各位看官老爺們好,洲洲已

    2024年02月12日
    瀏覽(97)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包