2019年7月11日 星期四

對話機器人

一、google搜尋line develovers
二、登入ID及PW,新建provider channel

Python轉檔與資料儲存

研習日期:108 年7月10日(三)研習
研習名稱:108年「商管群資訊應用技術領域增能研習-以Python數據擷取 與分析暨 AI 人工智慧應用為例」 
研習地點:台中家商
學習python語言,首先安裝anaconda3(64bit)整合環境,原則上以jupyter Notebook及spyder, 下列以jupyter Notebook來作練習。
用anacoda prompt顯示所有內建套件(指令:conda list,) 若需安裝外加套件(pip install ???)
一、pdf資料處理
      1、安裝wkhtmltox, 執行該執行檔,並記錄其安裝路徑,HTML-->PDF。
      2 、to insatll this package with conda run one of the flollowing :
             pip install pdfkit(
      3、安裝notepade++方便撰寫程式。
      3 、pdf資料處理測試範例
  •  抓取網頁、字串或網頁檔-->轉換成pdf, --->E1.py
  • 讀寫pdf檔,擷取檔案內資訊(pip install pypdf2)---->E2.py
  • 讀寫pdf檔(從第3頁另存新檔,從第3頁之後的頁面,輸出到一個新的檔中,即分割文檔)---->E3.py(第3頁後產生亂碼問題?)
  • 合併pdf檔------>E4.py

        執行E1.py產生下列錯誤訊息
        除蟲:(1)網頁網址及協定http錯誤, (2)未安裝wkhtmltox,(3)空白字元要去除及檔名第一字要大寫。(4)輸出檔案後,需先刪除後,再執行新測試檔案。
          

執行E4.py產生下列錯誤訊息
        除蟲:檔名第一字空白要刪除



二、CSV資料處理:EXCEL的CSV檔的讀寫與置換內容(CSV例子),CSV為內建套件。

  •  CSV_E1.py(擷取E1-2-2-1-input.csv需要欄位資料)
  • 除蟲:CSV檔案格式要正確,如下錯誤訊息。
  • CSV_E2.py(擷取E1-2-2-2-input.csv需要欄位資料)
  • CSV_E3.py(讀寫與置換內容,第6欄位"/"-->"-"字元。
  • 執行E3.py時,輸出檔案,要先刪除,因程式沒有判斷另存新檔或覆蓋,故會有下列訊息。
三、Josn\Yaml資料處理
     1、json檔的資料處理(Json例子)
            (json與CSV讀取方式一樣,是不同檔案格式而已), Json-->javascript。
  • yaml_E1.py
  •  yaml_E2.py
     2、yaml檔的資料處理(Json例子)
  • yaml_E1.py(E1-3-3-1.py)
  •  yaml_E2.py(E1-3-3-2.py)


四、sqlite3資料處理
    sqlitet檔的讀寫與置換內容(sqlite  csv例子)

  • sqlite_E1.pyi(檔案資料表COMPANY2建立)
  • sqlite_E2.py(檔案資料表COMPANY3建立)
  • sqlite_E3.py(檔案資料建立)
  • sqlite_E4.py(檔案資料查詢)
  • sqlite_E5.py(檔案資料修改)
  • sqlite_E6.py(檔案資料刪除) 
五、Mysql資料處理
       開放源始碼的關聯式資料庫管理系統
MySQL在過去由於效能高、成本低、可靠性好,已經成為最為流行的開源資料享,因此被廣泛地應用在Internet上的中小型網站中。
隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站和應用,比如維基百科、google和Facebook等網站。非常流行的開源軟體組合LAMP中的『M』指的就是MySQL.。
1、安裝appserv-win32-8.6.0.exe,(套件),含以下項目:ID:root, PW:s123456S
2、anacoda沒有連結mysql,所以要安裝pip install pymysql==0.8.0外加套件。
3、windows IIS檔案繫節改por
4、可用firefox瀏覽器輸入localhost,出現如下畫面,選擇選項
登入ID:roor, Pw:S123456S
開啟Python_Mysql.py,複製資料名名稱,至phpMadmin中新資料庫,如下:

新建好,目前無資料表,如下:
執行Python_Mysql.py,下列錯誤訊息