欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python+SeaTable實(shí)現(xiàn)生成條形碼圖片并寫入表格

 更新時間:2022年07月29日 08:21:37   作者:SeaTable開發(fā)者版  
不管是錄入信息時需要用掃碼器掃碼錄入,還是有別的生成條形碼的需要,這在?SeaTable?表格中用?Python?腳本就可以輕松實(shí)現(xiàn),本文就來為大家詳細(xì)講解一下

不管是錄入信息時需要用掃碼器掃碼錄入、核對信息時用于掃碼識別,還是有別的生成條形碼的需要,那我們?nèi)绾伟驯砀裰械臄?shù)字、文本列快速生成條形碼圖片呢?這在 SeaTable 表格中用 Python 腳本就可以輕松實(shí)現(xiàn),即把表格中的某一個字段,如身份證號、電話號轉(zhuǎn)換成相應(yīng)的條形碼,并存儲到圖片列中。例如,你有如下一張表格,里面有電話號碼和條碼圖片兩列,需要把每一行的電話號碼轉(zhuǎn)換成條碼,并傳到條碼圖片(BarcodeImage)列中去。怎么實(shí)現(xiàn)呢?

在 SeaTable 中用 Python 生成條形碼

新建 Python 腳本

首先需要在表格中,點(diǎn)擊“腳本”功能,新建一個 Python 腳本。

寫入代碼

然后在腳本中寫入如下代碼(如果需要線下運(yùn)行,需要安裝Python-barcode 依賴包)

import os
import time
import barcode
from barcode.writer import ImageWriter
from seatable_api import Base, context

api_token = context.api_token or "859ad340d9a2b11b067c11f43078992e14853af5"
server_url = context.server_url or "https://cloud.seatable.cn"

TEXT_COL = "PhoneNum"  # 需要轉(zhuǎn)換成條碼的列
BARCODE_IMAGE_COL = "BarcodeImage" # 圖片列, 存儲條碼
TABLE_NAME = 'Table1'
BARCODE_TYPE = 'code128'

CUSTOM_OPTIONS = {
    "module_width": 0.2,       # 單個條紋的最小寬度, mm
    "module_height": 15.0,     # 條紋帶的高度, mm
    "quiet_zone": 6.5,         # 圖片兩邊與首尾兩條紋之間的距離, mm
    "font_size": 10,           # 條紋底部文本的大小,pt
    "text_distance": 5.0,      # 條紋底部與條紋之間的距離, mm
}


CODE = barcode.get_barcode_class(BARCODE_TYPE)
base = Base(api_token, server_url)
base.auth()

def get_time_stamp():
    return str(int(time.time()*100000))

for row in base.list_rows(TABLE_NAME):
    # 如果圖片列中已有內(nèi)容, 則跳過
    if row.get(BARCODE_IMAGE_COL):
        continue
    # 如果電話號碼列為空,則跳過
    if not row.get(TEXT_COL):
        continue

    try:
        row_id = row.get('_id')
        msg = str(row.get(TEXT_COL))

        # 生成條碼對象
        code_img = CODE(msg, writer=ImageWriter())
        save_name = "%s_%s" % (row_id, get_time_stamp())

        # 保存為圖片并暫存
        file_name = code_img.save("/tmp/%s" % save_name, options=CUSTOM_OPTIONS)

        # 將圖片上傳至 Base 表格
        info_dict = base.upload_local_file(file_name, name=None, file_type='image', replace=True)
        img_url = info_dict.get('url')
        row[BARCODE_IMAGE_COL] = [img_url]
        base.update_row('Table1', row_id, row)

        # 移除暫存文件
        os.remove(file_name)
    except Exception as error:
        print("error occured during barcode generate", error)
        continue

運(yùn)行腳本

一鍵點(diǎn)擊運(yùn)行按鈕,腳本運(yùn)行完成后,表格中的電話號就會自動生成相應(yīng)的條形碼,并保存到條形碼圖片列。方便快捷。

設(shè)置條碼參考

此外,如果你還需要設(shè)置條碼、條紋的長度,以及文本的長度等,可以通過調(diào)節(jié)腳本中的 CUSTOM_OPTIONS中的參數(shù)來實(shí)現(xiàn),以下是一些例子:

默認(rèn)模式

module_width 1mm

module_height 5mm

quiet_zone 0.5mm

font_size 6pt

text_distance 2

應(yīng)用場景

在前面完成了把文本列的值轉(zhuǎn)換成條形碼,例如,把一長串準(zhǔn)考證號轉(zhuǎn)換成條形碼圖片,下面來看如何應(yīng)用。

打印條形碼用于粘貼答題卡

當(dāng)把每個學(xué)生的準(zhǔn)考證號轉(zhuǎn)換成條形碼圖片后,考務(wù)工作人員點(diǎn)擊條形碼圖片列,可以下載全部并能使用 {列名} 引用字段內(nèi)容給所有條形碼自動命名,方便后續(xù)工作。

設(shè)計(jì)準(zhǔn)考證頁面用于識別信息

把學(xué)生姓名、照片、準(zhǔn)考證條形碼等信息設(shè)計(jì)成準(zhǔn)考證頁面,用于掃碼讀取、核對、錄入信息等需要,是比較常見的考務(wù)工作和使用場景。這種數(shù)據(jù)的記錄、處理、應(yīng)用等工作在 SeaTable 表格上就可以快速完成。

在表格上添加頁面設(shè)計(jì)插件,就可以自定義設(shè)計(jì)多個頁面模板。頁面可以拖入行記錄中的文本、數(shù)字、圖片等字段信息。設(shè)計(jì)完并保存后,可以一鍵打印當(dāng)前行記錄頁面或打印所有頁面,也可以設(shè)置使用 {字段名} 引用字段的內(nèi)容,并一鍵下載為PDF。

總結(jié)

通過以上的例子,是不是又發(fā)現(xiàn)了 SeaTable 在使用上的更多靈活性和場景呢,但是條碼的生成和轉(zhuǎn)換還需要注意一個問題,一維條碼天生是不支持漢字轉(zhuǎn)換的,只支持基本的數(shù)字、字母和一些字符的轉(zhuǎn)換,不過這對于日常業(yè)務(wù)已經(jīng)基本足夠了??傊?SeaTable 豐富的功能,再結(jié)合 Python 腳本來使用,能幫助我們實(shí)現(xiàn)很多意想不到的效果,高效率低成本落地應(yīng)用,真的是一款值得擁有和分享的寶藏軟件工具。

以上就是Python+SeaTable實(shí)現(xiàn)生成條形碼圖片并寫入表格的詳細(xì)內(nèi)容,更多關(guān)于Python SeaTable條形碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何使用python記錄室友的抖音在線時間

    如何使用python記錄室友的抖音在線時間

    這篇文章主要介紹了如何使用python記錄室友的抖音在線時間,本文通過實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Python如何讀寫CSV文件

    Python如何讀寫CSV文件

    這篇文章主要介紹了Python如何讀寫CSV文件,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • Python辦公自動化處理的10大場景應(yīng)用示例

    Python辦公自動化處理的10大場景應(yīng)用示例

    這篇文章主要為大家介紹了Python辦公自動化處理的10大場景應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Pandas中Concat與Append的實(shí)現(xiàn)與區(qū)別小結(jié)

    Pandas中Concat與Append的實(shí)現(xiàn)與區(qū)別小結(jié)

    本文主要介紹了Pandas中Concat與Append的實(shí)現(xiàn)與區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • python粘包問題及socket套接字編程詳解

    python粘包問題及socket套接字編程詳解

    這篇文章主要介紹了python粘包問題及socket套接字編程詳解,之所以出現(xiàn)粘包,是因?yàn)閮蓚€數(shù)據(jù)非常小,然后間隔時間又短,或數(shù)據(jù)太大,一次取不完,下一次還會取這個大數(shù)據(jù),需要的朋友可以參考下
    2019-06-06
  • 為何你的Python代碼在Notepad++中只閃現(xiàn)一下就消失無蹤?

    為何你的Python代碼在Notepad++中只閃現(xiàn)一下就消失無蹤?

    你是否曾在Notepad++中運(yùn)行編寫的Python代碼,卻發(fā)現(xiàn)它們瞬間消失無蹤?別擔(dān)心,這不是你的幻覺,在這篇指南中,我們將揭秘這一現(xiàn)象背后的原因,并教你如何輕松解決,讓我們一起揭開這個謎團(tuán),讓你的Python代碼在Notepad++中安然無恙吧!
    2024-02-02
  • Python queue隊(duì)列原理與應(yīng)用案例分析

    Python queue隊(duì)列原理與應(yīng)用案例分析

    這篇文章主要介紹了Python queue隊(duì)列原理與應(yīng)用,結(jié)合具體案例形式分析了Python queue隊(duì)列的原理、功能、實(shí)現(xiàn)方法與使用技巧,需要的朋友可以參考下
    2019-09-09
  • Python基于回溯法子集樹模板實(shí)現(xiàn)8皇后問題

    Python基于回溯法子集樹模板實(shí)現(xiàn)8皇后問題

    這篇文章主要介紹了Python基于回溯法子集樹模板實(shí)現(xiàn)8皇后問題,簡單說明了8皇后問題的原理并結(jié)合實(shí)例形式分析了Python回溯法子集樹模板解決8皇后問題的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • python學(xué)習(xí)之使用Matplotlib畫實(shí)時的動態(tài)折線圖的示例代碼

    python學(xué)習(xí)之使用Matplotlib畫實(shí)時的動態(tài)折線圖的示例代碼

    這篇文章主要介紹了python學(xué)習(xí)之使用Matplotlib畫實(shí)時的動態(tài)折線圖的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 兩種方法檢查Python中的變量是否為字符串

    兩種方法檢查Python中的變量是否為字符串

    在 Python 中,每個變量都有一個數(shù)據(jù)類型, 數(shù)據(jù)類型表示變量內(nèi)部存儲的數(shù)據(jù)類型,本文通過示例介紹兩種不同的方法來檢查 Python 中的變量是否為字符串,感興趣的朋友一起看看吧
    2023-11-11

最新評論