Skip to content

Commit 2d05283

Browse files
authored
Update data_get_store
1 parent faad45e commit 2d05283

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

data_get_store

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,28 @@ And I will check the data order to place the latest data in front, and long time
1010
If the already exist data is ordered, I will only add new data to the file,
1111
if not, I will add new data and reorder all the data and write into a new file.
1212

13+
test xxx.txt in same dir
14+
20161010 1.21444
15+
20161002 1.41444
16+
20161005 1.31444
17+
20161003 1.81444
18+
20161007 1.51444
1319
"""
1420

1521
def TransDataToDict(file_handle):
1622
from collections import OrderedDict
23+
import decimal
1724
raw_data = OrderedDict()
1825
line_num = 0
1926
for line in file_handle:
2027
try:
2128
[key,value] = line.split()
2229
except ValueError:
2330
return ("Please check line %0d, the data format may be not correct!" % (line_num))
24-
raw_data[int(key)] = ("%.4f" % float(value))
31+
# raw_data[int(key)] = ("%.4f" % float(value)) # string not float type
32+
raw_data[int(key)] = decimal.Decimal("%.4f" % float(value))
2533
line_num = line_num + 1
34+
file_handle.close()
2635
return raw_data
2736

2837
def GetDataFromTxt(txt_str=""):
@@ -56,7 +65,14 @@ def OrderedDictReorder(ord_dict,index="key",rev=False):
5665
from collections import OrderedDict
5766
return OrderedDict(sorted(ord_dict.items(), key=lambda t:t[0] if index=="key" else t[1],reverse=rev))
5867

59-
68+
def WriteNewDictDataToFile(ord_dict,txt_str=""):
69+
from collections import OrderedDict
70+
datafile = open(txt_str, "w")
71+
for index in ord_dict:
72+
datafile.write("%d\t%.4f\n" % (index, ord_dict[index]))
73+
datafile.close()
74+
75+
6076
if __name__ == "__main__":
6177
raw_data = GetDataFromTxt("xxx.txt")
6278
print(raw_data)
@@ -80,6 +96,11 @@ if __name__ == "__main__":
8096
print(key_ordered_data_l)
8197
print(val_ordered_data_s)
8298
print(val_ordered_data_l)
99+
WriteNewDictDataToFile(key_ordered_data_s,txt_str="key_ordered_data_s.txt")
100+
WriteNewDictDataToFile(key_ordered_data_l,txt_str="key_ordered_data_l.txt")
101+
WriteNewDictDataToFile(val_ordered_data_s,txt_str="val_ordered_data_s.txt")
102+
WriteNewDictDataToFile(val_ordered_data_l,txt_str="val_ordered_data_l.txt")
103+
83104

84105
#order_data = OrderedDict()
85106
#order_data = OrderedDict(raw_data)

0 commit comments

Comments
 (0)