Skip to main content

pYthon Utilities.

Project description

安装

$ pip install yu

extractors - 数据提取

数据提取,支持:

  • Field

    • SkipField - 直接跳过

    • PassField - 不做转换

    • StringField - 字符串,支持长度验证

    • IntegerField - 整数,支持最大、最小值验证

    • FloatField - 浮点数

    • DateField - 日期

  • RowExtractor

  • CSVExtractor

示例

csv.extract 的用法:

import csv
from yu.extractors import csv as ce


fields = [
    ce.StringField(min_length=2, max_length=4),  # 姓名
    ce.SkipField(),  # 民族
    ce.IntegerField(max_value=150),  # 年龄
    ce.FloatField(min_value=5, max_value=200),  # 体重
    ce.DateField(),  # 生日
    ce.PassField(),  # 备注
]


with open('data/person.csv') as fp:
    reader = csv.reader(fp)
    for row in ce.extract(reader, fields=fields):
        print(row)

excel.extract 的用法

import xlrd
from yu.extractors import excel as ee

fields = [
    ee.StringField(min_length=2, max_length=4),  # 姓名
    ee.SkipField(),  # 民族
    ee.IntegerField(max_value=150),  # 年龄
    ee.FloatField(min_value=5, max_value=200),  # 体重
    ee.DateField(),  # 生日
    ee.PassField(),  # 备注
]

book = xlrd.open_workbook('data/person.xlsx')
sheet = book.sheet_by_name('person')
for row in ee.extract(sheet, fields=fields):
    print(row)

utils - 其他工具

包括

  • cached_property - 代码来自 Django 项目

  • InstanceMeta - 类的自动实例化

  • Instance - 类的自动实例化(继承方式)

InstanceMeta 示例

from yu.utils import InstanceMeta

class Color(metaclass=InstanceMeta, abstract=True):
    def __str__(self):
        return f'{self.name} = {self.value}'

class Red(Color):
    name = 'red'
    value = 'FF0000'

class Green(Color):
    name = 'green'
    value = '00FF00'

print(Red)
print(Green)

修改记录

v0.4.1

  • 2017-12-20 完善 yu.extractors, 封装返回值

v0.4.0

  • 2017-12-15 增加 argparseutils 模块,支持 DateType, DatetimeType

v0.2.2

  • 2017-12-15 完善 extractors.excel 和 extractors.csv

v0.2.1

  • 2017-12-11 发布里增加 README.md, data/*

v0.2.0

  • 2017-12-10 添加 yu.extractors.excel,处理 Excel 文件的数据提取

v0.1.1

  • 2017-12-09 添加 yu.extractors.csv, 处理 CSV 文件的数据提取

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yu-0.4.1.tar.gz (16.0 kB view details)

Uploaded Source

File details

Details for the file yu-0.4.1.tar.gz.

File metadata

  • Download URL: yu-0.4.1.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for yu-0.4.1.tar.gz
Algorithm Hash digest
SHA256 bc7282e04772d396de27ec7d315f50d2846ef48c9e0111e4f2291e81cd37caae
MD5 6e6876d20d78d9afa8961af32b02a97e
BLAKE2b-256 97417391b87b05095d1ded0b870ca3275d37ae3d8dd74b166ac162239c3e7379

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page