some utils to process data easy
Project description
data_factory
数据处理模块,主要是一些处理字典的函数
search
搜索字典中的键值对,如果有多个相同的键,值会被放到一个列表。
参数及其类型
-
key :
str, list, tuple
-
data :
dict
用法:
data = {
'name':'search',
'intro':'search key/value in dict data',
'desc':{
'name':'find',
'intro':'find something'
}
}
print(search('name', data))
# output: ['search', 'find']
print(search(['name','intro'], data))
# output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'find something']}
update
更新字典中的键值对。
参数及其类型
- update_map :
dict
- data :
dict
- target_type :
str, tuple
用法:
data = {
'name':'search',
'intro':'search key/value in dict data',
'desc':{
'name':'find',
'intro':'find something'
}
}
print(update({'name': 'PYTHON'}, data=data))
# output: {'name': 'PYTHON', 'intro': 'search key/value in dict data', 'desc': {'name': 'PYTHON', 'intro': 'find something'}}
print(update({'name': 'PYTHON'}, data=data, target_type=int))
# output: {'name': 'search', 'intro': 'search key/value in dict data', 'desc': {'name': 'find', 'intro': 'find something'}}
target_type 字段标明更新字段的类型,默认更新类型:str, bytes, int, float, list, dict
,如果字典的值的类型不在更新类型范围内,则不更新值。
replace
替换字典中的键值对。
参数及其类型
- replace_map :
dict
- data :
dict
- replace_key :
bool
用法:
data = {
'name':'search',
'intro':'search key/value in dict data',
'desc':{
'name':'find',
'intro':'find something'
}
}
print(replace({'find': 'search'}, data=data))
# output: {'name': 'search', 'intro': 'search key/value in dict data', 'desc': {'name': 'search', 'intro': 'search something'}}
print(replace({'name': 'Name'}, data=data, replace_key=True))
# output: {'Name': 'search', 'intro': 'search key/value in dict data', 'desc': {'Name': 'find', 'intro': 'find something'}}
strip
清洗字典
参数及其类型
- *args :
str
- data :
dict
- strip_key :
bool
用法:
data = {
'name':'search',
'intro':'search key/value in dict data',
'desc':{
'name':'find',
'intro':'find something'
}
}
print(strip('key/', 'find', data=data))
# output: {'name': 'search', 'intro': 'search value in dict data', 'desc': {'name': '', 'intro': ' something'}}
print(strip('ame', data=data, strip_key=True))
# output: {'n': 'search', 'intro': 'search key/value in dict data', 'desc': {'n': 'find', 'intro': 'find something'}}
delete
删除键值对
参数及其类型
- *args :
str
- data :
dict
- target_type :
str, tuple
用法:
data = {
'name':'search',
'intro':'search key/value in dict data',
'desc':{
'name':'find',
'intro':'find something'
}
}
print(delete('desc', data=data))
# output: {'name': 'search', 'intro': 'search key/value in dict data'}
默认target_key 类型为 str, bytes, int, float, list, dict
flatten
展开字典
参数及其类型
- data :
dict
用法:
data = {
'name':'search',
'intro':'search key/value in dict data',
'desc':{
'Name':'find',
'Intro':'find something'
}
}
print(dict(flatten(data)))
# output: {'name': 'search', 'intro': 'search key/value in dict data', 'Name': 'find', 'Intro': 'find something'}
merge
合并字典
参数及其类型
- *args :
dict
- overwrite :
bool
用法:
data1 = {
'name':'search',
'intro':'search key/value in dict data',
'desc':{
'Name':'find',
'Intro':'find something'
}
}
data2 = {
'name':'find',
'intro':'searching',
'desc':{
'Name':'search',
'Intro':'find something'
}
}
print(merge(data1, data2))
# output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'searching'], 'desc': {'Name': ['find', 'search'], 'Intro': ['find something', 'find something']}}
print(merge(data1, data2, overwrite=True))
# output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'searching'], 'desc': {'Name': ['find', 'search'], 'Intro': ['find something']}}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Dtautils-0.8.16.tar.gz
(13.2 kB
view hashes)
Built Distribution
Close
Hashes for Dtautils-0.8.16-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 956775123ba9bfe1e61277331c45994c4d00b56d561e0fc1318143ca50368a75 |
|
MD5 | f4cdc7037be82c6446621eec5db14dd6 |
|
BLAKE2b-256 | 8fc9d03567e145a3826c83201336c76091c720aa8b48f964f98d4df622ecf59f |