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

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

這篇具有很好參考價值的文章主要介紹了【一種使用瀏覽器讀取本地excel、josn等數(shù)據(jù)文件的方法】Python+JavaScript+HTML實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、背景

一般來說,為了網(wǎng)絡訪問安全,瀏覽器是不能直接加載本地文件的,IE內(nèi)核的瀏覽器提供了AX控件實現(xiàn)本地文件的讀取,Chrome 86 版本后也提供了相應的API,但都存在使用限制和兼容性問題。有時開發(fā)者只是想利用瀏覽器編制一些簡單的腳本完成一些任務,不想學習C、C++、Python生成exe這么大動作,例如使用JavaScript腳本讀取本地一個excel文件進行統(tǒng)計分析。但由于瀏覽器無法使用本地文件這個限制,只好放棄。本文討論研究一種非IE內(nèi)核瀏覽器讀取本地excel數(shù)據(jù)的方法,繞開這個限制。

為了實現(xiàn)這個目標這里使用到了Python、JavaScript、json、HTML等知識,同時博主也是通過學習其他文章找了這種解決方案。

相關(guān)文章詳見:
https://blog.csdn.net/qq_41581588/article/details/129681572
https://blog.csdn.net/qq_30337695/article/details/51788007

二、解決思路

問題的解決思路如下:

  1. 使用python讀取本地文件并轉(zhuǎn)換為json格式的.js文件;
  2. 在HTML文件頭使用<script>標簽引入轉(zhuǎn)換后的.js數(shù)據(jù)文件;
  3. 使用python打開瀏覽器加載對應的HTML文件。

三、具體實現(xiàn)

(一)使用python讀取本地文件并轉(zhuǎn)換為json格式的.js文件

這里參考了網(wǎng)上的python讀取本地文件代碼,已讀取excel為例子,使用了json庫、xlrd2庫編寫了讀取單個excel文件轉(zhuǎn)換為json數(shù)據(jù)格式的.js文件。其中參數(shù)path待讀取的excel文件路徑參數(shù)name轉(zhuǎn)換后保存的.js文件名。主要代碼如下:

import os
import json
import xlrd2
import excel2json
import webbrowser

fileTypeArray = [".xlsx", ".xls"]
def readExecl(path, name):
    print(path)
    workbook = xlrd2.open_workbook(path)
    sheet2_name = workbook.sheet_names()[0]
    sheet = workbook.sheet_by_name(sheet2_name)  
    # sheet索引從0開始
    # sheet的名稱,行數(shù),列數(shù)
    # print sheet.name,sheet.nrows,sheet.ncols

    adict = {}

    for i in range(1, sheet.nrows):
        data = {}
        for j in range(0, sheet.ncols):
            value = TransformationType(sheet.cell_value(i, j))
            if isinstance(value, str):
                if isJsonString(value):
                    data[TransformationType(sheet.cell_value(0, j))] = eval(value)
                else:
                    data[TransformationType(sheet.cell_value(0, j))] = value
            else:
                data[TransformationType(sheet.cell_value(0, j))] = value
            adict[TransformationType(sheet.cell_value(i, 0))] = data

    data = json.dumps(adict, indent=1, ensure_ascii=False)
    excel_data = "data = " + data
    _json_save_path = os.getcwd() + "/" + name + '.js'
    f = open(_json_save_path, 'w', encoding='utf-8')
    f.write(excel_data)
    f.close()
    print("already create json:" + path)
    return data, _json_save_path

def isJsonString(str):
    try:
        eval(str)
    except Exception as e:
        return False
    return True


def TransformationType(var):
    if isinstance(var, float):  # type(var) == 'float':
        str1 = int(var)
    elif isinstance(var, str):  # type(var) == 'unicode':
        str1 = var
    else:
        raise Exception("type is not deal")
        str1 = var
    return str1

然后編制run函數(shù)測試上面的代碼,讀取當前目前下的題庫.xls文件,輸出excel_data.js文件,run函數(shù)代碼如下:

def run():
    _file_path = os.getcwd() + "/" + "題庫.xls"
    _filename = os.path.basename(_file_path)
    _json_data = excel2json.readExecl(_file_path, "excel_data")

if __name__ == '__main__':
    run()

運行結(jié)果如下,題庫.xls轉(zhuǎn)換成了excel_data.js。

瀏覽器讀取文件,Python,JavaScript技術(shù),excel,python,javascript,html,瀏覽器

打開題庫.xlsexcel_data.js,可以看到excel里面的每一行轉(zhuǎn)換為json的對象數(shù)據(jù)。

瀏覽器讀取文件,Python,JavaScript技術(shù),excel,python,javascript,html,瀏覽器

(二)在HTML文件頭使用<script>標簽引入轉(zhuǎn)換后的.js數(shù)據(jù)文件

有了.js文件,就可以在HTML文件頭使用<script>標簽引入轉(zhuǎn)換后的.js數(shù)據(jù)文件,這里通過使用src="excel_data.js"實現(xiàn)。具體代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>讀取excel</title>
    <script type="text/javascript" src="excel_data.js"></script>
</head>
<body>
    <script type="text/javascript">
      let data_list = Object.values(data)
	  data_len = data_list.length
	  console.log(data_list)
	  console.log(data_len)
    </script>
</body>
</html>

瀏覽器輸出結(jié)果如下,把excel的數(shù)據(jù)都打印到控制臺了,證明讀取本地excel文件成功了,后續(xù)可以根據(jù)需求統(tǒng)計和展示excel的數(shù)據(jù)。

瀏覽器讀取文件,Python,JavaScript技術(shù),excel,python,javascript,html,瀏覽器

(三)使用python打開瀏覽器加載對應的HTML文件

最后就是剛才兩個步驟的自動化,使用python自動把excel轉(zhuǎn)為.js文件,調(diào)用本地瀏覽器打開對應的HTML,實現(xiàn)整個流程自動化。具體代碼如下:

def run():
    _file_path = os.getcwd() + "/" + "題庫.xls"
    _filename = os.path.basename(_file_path)
    _json_data = excel2json.readExecl(_file_path, "excel_data")
    _url = os.getcwd() + "/" + "index.html"
    webbrowser.open(_url)

if __name__ == '__main__':
    run()

四、小結(jié)

使用瀏覽器讀取本地文件其實有很多實現(xiàn)方式,包括使用Node.js和Electron框架等技術(shù),但這些都使用起來多少有點難度和技術(shù)門檻,本文使用簡單的Python+JavaScript+HTML技術(shù)實現(xiàn),滿足一些小場景的需求。完整代碼如下:

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

另外,原來博主基于IE內(nèi)核做了一個考試刷題工具,現(xiàn)在也改成使用本方法實現(xiàn)了,終于可以在各種瀏覽器運行,不再需要考慮兼容性等問題。
下載地址:Python+JavaScript+html編寫的免費刷題工具,可以實現(xiàn)瀏覽器讀取本地excel文件,自定義題庫文章來源地址http://www.zghlxwxcb.cn/news/detail-729255.html

到了這里,關(guān)于【一種使用瀏覽器讀取本地excel、josn等數(shù)據(jù)文件的方法】Python+JavaScript+HTML實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • python 爬蟲熱身篇 使用 requests 庫通過 HTTP 讀取網(wǎng)絡數(shù)據(jù),使用 pandas 讀取網(wǎng)頁上的表格,使用 Selenium 模擬瀏覽器操作

    python 爬蟲熱身篇 使用 requests 庫通過 HTTP 讀取網(wǎng)絡數(shù)據(jù),使用 pandas 讀取網(wǎng)頁上的表格,使用 Selenium 模擬瀏覽器操作

    在過去,收集數(shù)據(jù)是一項繁瑣的工作,有時非常昂貴。機器學習項目不能沒有數(shù)據(jù)。幸運的是,我們現(xiàn)在在網(wǎng)絡上有很多數(shù)據(jù)可供我們使用。我們可以從 Web 復制數(shù)據(jù)來創(chuàng)建數(shù)據(jù)集。我們可以手動下載文件并將其保存到磁盤。但是,我們可以通過自動化數(shù)據(jù)收集來更有效地做

    2023年04月08日
    瀏覽(98)
  • 新版edge瀏覽器讀取谷歌瀏覽器上的歷史記錄

    上一篇: (3條消息) 新版edge瀏覽器讀取谷歌瀏覽器上的歷史記錄_learningbilibili的博客-CSDN博客 https://blog.csdn.net/learningbilibili/article/details/123662218 關(guān)于上次的讀取歷史記錄的問題是現(xiàn)在的edge瀏覽器最近的版本更新后出現(xiàn)了每次啟動時從 Google Chrome 導入瀏覽器數(shù)據(jù)的功能,而且是

    2024年02月09日
    瀏覽(27)
  • 使用puppeteer完成監(jiān)聽瀏覽器下載文件并保存到自己本地或服務器上完成上傳功能

    獲取網(wǎng)站點擊的下載pdf,并把pdf重命名再上傳到COS云上面 “puppeteer”: “^19.7.2”, “egg”: “^3.15.0”, // 服務期用egg搭的 文件服務使用COS騰訊云 獲取瀏覽器下載事件,并把文件保存到本地 在保存到本地前監(jiān)聽此文件夾,如果有文件則獲取并上傳 加timer做防抖是為了防止在文

    2024年04月15日
    瀏覽(31)
  • JAVA使用POI對Word docx模板文件替換數(shù)據(jù)工具類并通過瀏覽器下載到本地

    JAVA使用POI對Word docx模板文件替換數(shù)據(jù)工具類并通過瀏覽器下載到本地

    需求:需要上傳一個帶有占位符的模板至數(shù)據(jù)庫保存,然后解析模板的占位符,通過類計算結(jié)果替換模板中的占位符,并且保存至本地 難點:1.由于我數(shù)據(jù)庫保存是本地保存,并沒有path 所以獲取模板的path是個難點 2.如何使用計算類,由于我的類是和占位符綁定的,什么樣的

    2024年02月16日
    瀏覽(28)
  • 瀏覽器獲取本地IP地址(不是瀏覽器的url地址的ip)

    瀏覽器輸入: edge://flags/#enable-webrtc-hide-local-ips-with-mdns Anonymize local IPs exposed by WebRTC 狀態(tài)改為disable JS方法: function f() { if(typeof window != \\\'undefined\\\'){ var RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; var rtc = new RTCPeerConnection() rtc.createDataChannel(\\\'\\\'

    2024年02月02日
    瀏覽(91)
  • 基于 Emscripten + WebAssembly 實現(xiàn)瀏覽器操作 Excel

    基于 Emscripten + WebAssembly 實現(xiàn)瀏覽器操作 Excel

    【C++】使用WebAssembly在瀏覽器端操作Excel_wasm文件用什么打開_你的薄荷醇的博客-CSDN博客 使用WebAssembly在瀏覽器端操作Excel_wasm文件用什么打開 https://blog.csdn.net/weixin_44305576/article/details/125545900?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168964185516800185863561%2522%252C%2522scm%2522%253A%25

    2024年02月13日
    瀏覽(23)
  • selenium 調(diào)用本地瀏覽器插件

    selenium 調(diào)用本地瀏覽器插件

    本文所有教程及源碼、軟件僅為技術(shù)研究。不涉及計算機信息系統(tǒng)功能的刪除、修改、增加、干擾,更不會影響計算機信息系統(tǒng)的正常運行。不得將代碼用于非法用途,如侵立刪! selenium 使用本地瀏覽器插件 環(huán)境 win10 Python3.9 selenium 4.10 查看chrome配置文件路徑 地址欄輸入 ?

    2024年02月09日
    瀏覽(20)
  • web瀏覽器打開本地exe應用

    web瀏覽器打開本地exe應用

    瀏覽器打開本地exe程序我們可以使用ActiveXObject方法,但是只支持IE,谷歌、火狐等瀏覽器并不支持此操作。 那問題來了,我們又該如何操作? 經(jīng)過本博主的不斷學習探索終于找到了一條,像百度網(wǎng)盤那樣打本地exe應用的辦法。我們可以通過添加注冊表. 向系統(tǒng)添加一個類似于

    2024年02月13日
    瀏覽(24)
  • JavaScript音視頻,使用JavaScript如何在瀏覽器錄制電腦攝像頭畫面為MP4視頻文件并下載視頻文件到本地

    本章介紹使用JavaScript如何在瀏覽器錄制電腦攝像頭畫面為MP4視頻文件并下載視頻文件到本地。 1、使用navigator.mediaDevices.getUserMedia獲取攝像頭畫面 2、將獲取到的攝像頭畫面渲染到canvas畫板上 3、將canvas轉(zhuǎn)換為blob對象 4、通過document.createElement(‘a(chǎn)’)調(diào)用 href 方法獲取此鏈接并觸

    2024年02月02日
    瀏覽(31)
  • web瀏覽器在線預覽Excel,PDF,world文檔解決方案

    web瀏覽器在線預覽Excel,PDF,world文檔解決方案

    眾所周知啊,在web瀏覽器中是無法直接預覽Excel、world文檔等文件的,PDF有的瀏覽器是打開預覽,有的瀏覽器是跳轉(zhuǎn)到下載頁,行為不一致也是讓開發(fā)者頭疼的事情。 今天給大家提供一個解決方案,實現(xiàn)office文件在線預覽的解決方案,這個在開發(fā)OA,推送通知觸達的應用非常有

    2024年02月17日
    瀏覽(93)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包