4
4
5
5
ODS format plugin for pyexcel
6
6
7
- :copyright: (c) 2015-2016 -2016 by Onni Software Ltd. & its contributors
7
+ :copyright: (c) 2015-2016 by Onni Software Ltd. & its contributors
8
8
:license: New BSD License
9
9
"""
10
10
import sys
@@ -58,10 +58,10 @@ def time_value(value):
58
58
minute = int (value [5 :7 ])
59
59
second = int (value [8 :10 ])
60
60
if hour < 24 :
61
- ret = datetime .time (hour , minute , second )
61
+ return datetime .time (hour , minute , second )
62
62
else :
63
- ret = datetime .timedelta (hours = hour , minutes = minute , seconds = second )
64
- return ret
63
+ return datetime .timedelta (hours = hour , minutes = minute , seconds = second )
64
+
65
65
66
66
67
67
def boolean_value (value ):
@@ -113,6 +113,21 @@ def boolean_value(value):
113
113
ODS_WRITE_FORMAT_COVERSION [unicode ] = "string"
114
114
115
115
116
+ def _read_cell (cell ):
117
+ cell_type = cell .value_type
118
+ ret = None
119
+ if cell_type in ODS_FORMAT_CONVERSION :
120
+ value = cell .value
121
+ n_value = VALUE_CONVERTERS [cell_type ](value )
122
+ ret = n_value
123
+ else :
124
+ if cell .value is None :
125
+ ret = ""
126
+ else :
127
+ ret = cell .value
128
+ return ret
129
+
130
+
116
131
class ODSSheet (SheetReaderBase ):
117
132
@property
118
133
def name (self ):
@@ -124,29 +139,15 @@ def to_array(self):
124
139
for row in range (self .native_sheet .nrows ()):
125
140
row_data = []
126
141
tmp_row = []
127
- for column , cell in enumerate ( self .native_sheet .row (row ) ):
128
- cell_value = self . _read_cell (cell )
142
+ for cell in self .native_sheet .row (row ):
143
+ cell_value = _read_cell (cell )
129
144
tmp_row .append (cell_value )
130
145
if cell_value is not None and cell_value != '' :
131
146
row_data += tmp_row
132
147
tmp_row = []
133
148
if len (row_data ) > 0 :
134
149
yield row_data
135
150
136
- def _read_cell (self , cell ):
137
- cell_type = cell .value_type
138
- ret = None
139
- if cell_type in ODS_FORMAT_CONVERSION :
140
- value = cell .value
141
- n_value = VALUE_CONVERTERS [cell_type ](value )
142
- ret = n_value
143
- else :
144
- if cell .value is None :
145
- ret = ""
146
- else :
147
- ret = cell .value
148
- return ret
149
-
150
151
151
152
class ODSBook (BookReader ):
152
153
@@ -246,13 +247,13 @@ def close(self):
246
247
247
248
def save_data (afile , data , file_type = None , ** keywords ):
248
249
if isstream (afile ) and file_type is None :
249
- file_type = 'ods'
250
+ file_type = 'ods'
250
251
write_data (afile , data , file_type = file_type , ** keywords )
251
252
252
253
253
254
def get_data (afile , file_type = None , ** keywords ):
254
255
if isstream (afile ) and file_type is None :
255
- file_type = 'ods'
256
+ file_type = 'ods'
256
257
return read_data (afile , file_type = file_type , ** keywords )
257
258
258
259
0 commit comments