2018年1月1日 星期一

掃描ISBN,建立電子書櫃


我愛看書,也買了不少書,想過為藏書建立電子清單,發現要耗費不少時間而遲遲未動手。後來發現一些建立網路書櫃的軟體如aNobii,Readmoo等,可以利用掃描書的ISBN碼快速建立清單。但使用得不太順手,不是對中文書的支持不夠,就是批次建立較花費時間,或是無法匯出成一個文件檔。

於是寫了一個小程式來滿足自己的需求。
介紹與使用如下:

第一步

須搭配一個掃描條碼的手機APP,這個APP為「條碼二維碼掃描器 - 专业版」(android)
https://play.google.com/store/apps/details?id=com.geekslab.qrbarcodescanner.pro&hl=zh_TW

其實也可以用其他掃描條碼的APP,重點是可將所有掃描好的ISBN碼匯出,然後整理成特定的格式與檔案類型。該格式須為每一行一個ISBN碼(若該行還有其他格的資訊,則ISBN碼必須在最左邊位置),最後須儲存為csv檔案(副檔名為csv)

這個APP可以連續掃描(掃描出結果後,再按返回鍵繼續掃描),因此可以一口氣掃描許多書本。
另外如果掃描到重複書籍,該書ISBN碼在時間序列上會更新,因此整個清單中不會有重複的ISBN碼,這有個好處,掃描自己藏書ISBN碼的工作可以分好幾天做,下次掃時即使不小心掃到重複的書也不用怕。(我其實是比較希望能有掃到重複就跳出提醒的功能)

將掃描好的清單以分享的分式匯出,檔案格式是csv


第二步

然後點擊我寫的小程式,檔名為:建立藏書清單.exe
是DOS界面,有一行字:「置入要放入的csv檔:」
填上之前掃描匯出的csv檔完整絕對路徑,或是左鍵按住csv檔托移入DOS界面也可。
DOS界面顯示路徑後,點下DOS界面後再按下Enter鍵。
注意DOS界面中的文字游標要跑到下一行才是對的。
之後就是等待程式跑完。


由於程式是向Findbook爬取資料,所以我沒有優化程式速度,程式跑得慢一些。
如果ISBN碼多一些,會跑久一些,另外由於程式跑的時候是沒有動的畫面,請不用擔心。

程式跑完會關閉,然後在程式的同個資料夾中產生一個「建立書櫃.xlsx」的檔案。
這個excel檔案就是我們要的結果,所呈現的資料依序是:
序號>>書名>>作者>>ISBN>>分類標籤>>出版日期 >>出版社


另外有2點注意:

  1. ISBN的數字看起來有問題,是因為數值長度太長的因素,只要將該所有數字的欄位的儲存格格式>>數值>>數值>>小數位數,由2調到0即可。
  2. 底下有列出「以下為查不到的ISBN碼」,這是由於有些書可能沒有被Findbook收入,但就我使用的經驗,沒收入的比率不多,像我642本書,只有14本查不到




轉載請註明出處

10 則留言:

  1. 您好! 很開心看到您分享了透過ISBN,建立電子書櫃的好程式,是我書房上百本欲建檔的書籍救星。但下載後欲在xp或windows 7直接點開要執行時皆被拒,被告知版本不對,誠心請教一下我應如何啟動該exe檔以正常使用呢?謝謝。

    回覆刪除
    回覆
    1. 有截圖嗎?

      我是用python程式語言寫的,打包成exe檔。
      我本身是win10,不好意思,沒用其他作業系統版本測試過
      另外,此檔案執行過程,必須要有微軟的excel

      你會python嗎?會的話,我可以給你程式的原始碼。

      刪除
    2. 方便提供原始碼嗎?
      是個有趣的專案

      刪除
  2. 您好, 我最近在整理社區捐贈書籍, 非常高興跟感動看到您提供的這個小程式。我嘗試使用後真的非常好用, 很感謝您的用心, 所以特地來此留言感謝。

    回覆刪除
  3. 版主您好!:>
    最近在整理文化館的藏書,這套軟體真的很方便,由衷感謝您!
    謝謝您提供這麼棒的程式和APP,拯救整理館藏書籍的工讀生!
    希望您以後寫的程式都沒有BUG~哈哈
    也祝您日後事事順心、平安健康~ :>

    回覆刪除
    回覆
    1. 多謝,程式我是自學的,可能會有BUG~
      使用過程中有問題再請告知

      刪除
  4. 很好用,感謝!
    我用的書比較偏,但是已經解決一半的書量了,感恩~

    回覆刪除
  5. 你好!本身想著要把書櫃e化很久,對這塊很有興趣,可以跟你請教原始碼嗎?謝謝你!

    回覆刪除

LINE 聊天機器人快速實作

LINE 聊天機器人的基本實作教學文章,網路上很多,所以我不打算寫詳細的基礎教學步驟。 聊天機器人的實作,大致有三個階段: 回聲機器人。(你說什麼,他回什麼) 特定關鍵字回應。(設定一些關鍵字,回應除了定型內容外,還可用爬蟲技術爬出資料再回應) 智慧對話。(會自然語言...