Skip to content

Instantly share code, notes, and snippets.

Sho Shimauchi shiumachi

View GitHub Profile
@shiumachi
shiumachi / bot_commands.py
Created Apr 18, 2019
pyspa-bot: phonics, lower, upper command
View bot_commands.py
# phonics
ph = {"a": "アッ", "b": "バッ", "c": "カッ", "d": "ダッ", "e": "", "f": "フッ", "g": "グッ", "h": "ハッ", "i": "", "j": "ジャ", "k": "クッ", "l": "", "m": "", "n": "", "o": "", "p": "パッ", "q": "カッ", "r": "", "s": "", "t": "", "u": "ウッ", "v": "ヴッ", "w": "ウッ", "x": "クス", "y": "ヤッ", "z": ""}
arr = []
for a,b in ph.items():
arr.append(f'rsub("{a}", "{b}",')
result = ''.join(arr) + "{@1}"" + ')' * len(arr)
result
# upper
d = {}
@shiumachi
shiumachi / random_pick.py
Created Nov 29, 2018
return a random item in a list, which has different probability.
View random_pick.py
# -*- coding: utf-8 -*-
# Reference: Python Cookbook 2nd Ed. p.188
import random
def random_pick(item_list, probabilities):
""" return a random item in a list, which has different probability.
View get_sorted_dict_values.py
# -*- coding: utf-8 -*-
# Reference: Python Cookbook 2 Ed. p.198
def get_sorted_dict_values(d):
keys = d.keys()
keys.sort()
return [d[key] for key in keys]
View convert_to_datetime.py
import datetime
def convert_to_datetime(date_string):
""" input: %Y-%m-%d %H:%M:%S,%f
example: 2014-01-05 22:20:50,307
return: datetime object
"""
date_format = "%Y-%m-%d %H:%M:%S,%f"
View align.py
def print_arr_right_aligned(arr):
""" input: string array ['a', 'ab', 'abc']
output: None. print with right aligned.
a:
ab:
abc:
"""
len_a = max(map(lambda x: len(x), arr))
for i in arr:
print("{0:>{1}}: ".format(i, len_a))
View ast_sample.py
# sample of ast module
# reference:
# http://docs.python.jp/2.7/library/ast.html
# http://stackoverflow.com/questions/1515357/simple-example-of-how-to-use-ast-nodevisitor
import ast
import sys
import logging
View add_date_to_log.py
from convert_to_datetime import convert_to_datetime
def add_date_to_log(line):
""" add YYMMDDhh to the beginning of the log.
Argument:
line (hadoop log line)
"""
arr = line.rstrip().split()
date_string = ' '.join(arr[0:2])
View hipchat-bot.py
# -*- coding: utf-8 -*-
import hypchat
import ConfigParser
import time
import random
import re
import sqlite3
# 設定のロード
View retail_data_gen.py
import argparse
import random
from datetime import date, timedelta
from random import shuffle
# option settings
parser = argparse.ArgumentParser(description='retail data generator')
parser.add_argument('--no-file', type=int, default=1, help='number of files. default is 1.')
parser.add_argument('--no-line', type=int, default=10000, help='number of lines. default is 10000.')
View hive_create_table_with_many_partitions.py
# -*- coding: utf-8 -*-
"""
Copyright 2015 Sho Shimauchi
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
You can’t perform that action at this time.