def from_camelcase(s):
    """
    convert camel case to underscore
    :param s: ThisIsCamelCase
    :return: this_is_camel_case
    """
    return ''.join(['_' + c.lower() if c.isupper() else c for c in s]).lstrip('_')