Skip to content

Commit 2f205db

Browse files
committed
新增数据过滤工具方法
1 parent bf64a05 commit 2f205db

1 file changed

Lines changed: 57 additions & 0 deletions

File tree

tools/filter.py

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# encoding: utf-8
2+
__author__ = 'zhanghe'
3+
4+
5+
def data_filter(source_str, return_type='str'):
6+
"""
7+
数据类型过滤(转换)
8+
:param source_str:
9+
:param return_type:
10+
:return:
11+
"""
12+
value = ''
13+
if return_type == 'str':
14+
try:
15+
value = str(source_str)
16+
except ValueError:
17+
value = ''
18+
if return_type == 'int':
19+
try:
20+
value = int(source_str)
21+
except ValueError:
22+
value = 0
23+
if return_type == 'float':
24+
try:
25+
value = float(source_str)
26+
except ValueError:
27+
value = 0.0
28+
return value
29+
30+
31+
def clean_none(data, default=''):
32+
"""
33+
过滤记录中的None(数据库中的null)
34+
:param data:
35+
:param default:
36+
:return:
37+
"""
38+
if isinstance(data, list):
39+
for index in range(len(data)):
40+
if data[index] is None:
41+
data[index] = default
42+
if isinstance(data, dict):
43+
for key, value in data.items():
44+
if value is None:
45+
data[key] = default
46+
return data
47+
48+
49+
if __name__ == '__main__':
50+
print data_filter('python', 'float')
51+
print clean_none(['a', None, 3])
52+
print clean_none({'a': None, 'b': 2})
53+
print clean_none({})
54+
55+
"""
56+
数据过滤器
57+
"""

0 commit comments

Comments
 (0)