JSON形式のAPIの情報をExcelに投入

#!/usr/bin/env python
# coding:utf-8

import openpyxl as px
import requests
import json
import re

URL = "[API URL名]"
fname = "ファイル元"
num_string_pattern = re.compile(r'\d+')
itemid_string_pattern = re.compile(r'\w{3}\d{4}')
itemid_string_pattern2 = re.compile(r'\w{1}\d{4}')


def check_items(keyword, url):
    params = {'q': keyword}
    r = requests.get(URL, params=params)
    dic = json.loads(r.text)
    total = dic.get('result')get('total')
    return total > 0


def digits_check(keyword):
    if re.match(num_string_pattern, keyword) or re.match(itemid_string_pattern, keyword) or re.match(itemid_string_pattern2, keyword):
        return True
    else:
        return False


def run(fname):
    try:
        wb = px.load_workbook(fname)
        print(wb.get_sheet_names())
        ws = wb.get_sheet_by_name('データセット1')
        _write_sheet(ws)
    except:
        raise
    else:
        wb.save(fname)


def _write_sheet(sheet):
    for row in range(2, 10002):
        keyword = sheet['A{}'.format(row)].value
        keyword = str(keyword)
        print(keyword)
        sheet['I{}'.format(row)].value = digits_check(keyword).numerator
        sheet['J{}'.format(row)].value = digits_check(keyword).numerator


def main():
    run(fname)


if __name__ == '__main__':
    main()

www.lisz-works.com

PostgresのDBの作り方にいろいろ見ないといけないことがありそう...

なんか、mysqlみたいにutf-8の指定する方法とかないか確認したくて調べていたら、 localeとかもあって、それによっていろいろ差があるっぽい

CREATE DATABASE [DB名]
TEMPLATE template0 ENCODING 'UTF-8'
LC_COLLATE 'ja_JP.UTF-8' LC_CTYPE 'ja_JP.UTF-8';

qiita.com

yumで/usr/配下以外に指定する方法

yum installすると、/usr/配下にインストールされる。 yumのオプション名だけではわからないので、確認したら、以下の方法で行けるらしい。

# yum --installroot=/usr/local/ install -y some_package

qiita.com

USキーボードの英数カナ切り替えのアプリ

USキーボードで英数カナの切り替えを 左右のcommandを使用することでできる。

Karabiner-Elementsがいい感じにマッピングできる。

beadored.com

あと、現時点ではVirtualboxvagrantの5.2は対応していないらしい。

URLの変更コマンド

grep -l -r [url元] . | xargs perl -pi -e 's@[url元]@[url先]@g'

qiita.com

ファセットよい上位を抽出

curl "http://localhost:8983/solr/[core名]/select?facet.field=keyword&facet=on&q=*:*&rows=0&facet.limit=1000" | jq .facet_counts.facet_fields.keyword[] | awk 'NR%2==1' | sed 's/\"//g' >keyword.txt

curl "http://localhost:8983/solr/[core名]/select?facet.field=keyword&facet=on&q=*:*&rows=0&facet.limit=1000" | jq .facet_counts.facet_fields.keyword[] | awk 'NR%2==0' | sed 's/\"//g' > 5000count.txt

memcachedのコマンドでのexpire timeの取得

set foo 0 100 3
345
STORED
set goo 0 100 3
457
STORED
set koo 0 50 3
123
STORED
stats cachedump 1 0
ITEM koo [3 b; 1513886814 s]
ITEM goo [3 b; 1513886846 s]
ITEM foo [3 b; 1513886836 s]
ITEM name [6 b; 0 s]
END

taka512.hatenablog.com