【python】ExcelのデータをSQLITEに!

やればできるじゃないか!

# EXCEL形式の設定情報をSQLITE形式に変換します。
# ちなみにエクセル内では縦軸がrow、横軸がcolです。
##### IMPORT
import xlrd
import sqlite3
from contextlib import closing

##### CONST
book = xlrd.open_workbook('./conf.xlsx')
db = './conf.sdb'

##### IMPLEMENTATION
with closing(sqlite3.connect(db)) as conn:
    c = conn.cursor()

    ### テーブル作成
    # PageConf
    create_table = '''create table PageConf (
                        page_id INTEGER,
                        name TEXT,
                        url TEXT)'''

    c.execute(create_table)


    ### Excelデータ読み出し
    # PageConf 
    sheet = book.sheet_by_name('PageConf')

    for row_index in range(sheet.nrows):
        if row_index >= 4 :
            page_id = int (sheet.cell_value(rowx=row_index, colx=0))
            name = sheet.cell_value(rowx=row_index, colx=1)
            url = sheet.cell_value(rowx=row_index, colx=2)
            sql = 'insert into PageConf (page_id, name, url) values (?,?,?)'
            data = (page_id, name, url)
            c.execute(sql, data)


    ### データ確認
    # PageConf
    print('PageConf')
    select_sql = 'select * from PageConf'
    for row in c.execute(select_sql):
        print(row)

【chrome】chromeの操作

2つ方式がありますので、メモしておきます。さぁ、どちらが良いか、そのうち考えます。

(1) WinActorと同じ方式 (Chrome Driver)
 WinActorがIEだけでなくChromeも対象とするようになったのですが、どうやってChromeを操作しているのかなと気になって調べてみました。ChromeDriverを使っているようです。
 https://sugizo.info/2018/10/11/506/
 ⇒ この方式には制約あって、WinActor自身が起動したChromeは操作できるのですけど、ユーザーが起動したchromeは操作できないと思います。

(2) Chrome Extension
 確実に操作できる方式です。ですが、クロムストア経由でしか配布できないので、導入が面倒です。

【pascal】IHTMLSelectElementの扱い

    begin
      iDoc3Test := iDoc2 as IHTMLDocument3;
      iEleTest := iDoc3Test.getElementById('lstSelect');
      ShowMessage(iEleTest.innerHTML);
      iEleTest.QueryInterface(IID_IHTMLSelectElement,iSelectEleTest);
      cntSelectTagTest := iSelectEleTest.length;
      for loopSelectTagTest := 0 to cntSelectTagTest - 1 do
      begin
        iDispTest := iSelectEleTest.item(loopSelectTagTest,0);
        iDispTest.QueryInterface(IID_IHTMLOptionElement,iOptionTest);
        iOptionTest.selected := True;
        ShowMessage(iOptionTest.text);
        iEleTest := iDoc3Test.getElementById('tdAttachView');
        iEleTest.click;
        iOptionTest.selected := False;
      end;
    end;

C#ですが、次は参考になりました。
blog.clockahead.com