@@ -20,19 +20,19 @@ export ReadStatDataFrame, read_dta, read_sav, read_por, read_sas7bdat, read_xpor
20
20
# #
21
21
# #############################################################################
22
22
23
- const READSTAT_TYPE_STRING = Cint (0 )
24
- const READSTAT_TYPE_CHAR = Cint (1 )
25
- const READSTAT_TYPE_INT16 = Cint (2 )
26
- const READSTAT_TYPE_INT32 = Cint (3 )
27
- const READSTAT_TYPE_FLOAT = Cint (4 )
28
- const READSTAT_TYPE_DOUBLE = Cint (5 )
23
+ const READSTAT_TYPE_STRING = Cint (0 )
24
+ const READSTAT_TYPE_CHAR = Cint (1 )
25
+ const READSTAT_TYPE_INT16 = Cint (2 )
26
+ const READSTAT_TYPE_INT32 = Cint (3 )
27
+ const READSTAT_TYPE_FLOAT = Cint (4 )
28
+ const READSTAT_TYPE_DOUBLE = Cint (5 )
29
29
const READSTAT_TYPE_LONG_STRING = Cint (6 )
30
30
31
- const READSTAT_ERROR_OPEN = Cint (1 )
32
- const READSTAT_ERROR_READ = Cint (2 )
33
- const READSTAT_ERROR_MALLOC = Cint (3 )
31
+ const READSTAT_ERROR_OPEN = Cint (1 )
32
+ const READSTAT_ERROR_READ = Cint (2 )
33
+ const READSTAT_ERROR_MALLOC = Cint (3 )
34
34
const READSTAT_ERROR_USER_ABORT = Cint (4 )
35
- const READSTAT_ERROR_PARSE = Cint (5 )
35
+ const READSTAT_ERROR_PARSE = Cint (5 )
36
36
37
37
# #############################################################################
38
38
# #
@@ -63,7 +63,7 @@ mutable struct ReadStatDataFrame
63
63
measures:: Vector{Cint}
64
64
alignments:: Vector{Cint}
65
65
val_label_keys:: Vector{String}
66
- val_label_dict:: Dict{String, Dict{Any,String}}
66
+ val_label_dict:: Dict{String,Dict{Any,String}}
67
67
rows:: Int
68
68
columns:: Int
69
69
filelabel:: String
@@ -74,7 +74,7 @@ mutable struct ReadStatDataFrame
74
74
75
75
ReadStatDataFrame () =
76
76
new (Any[], Symbol[], DataType[], String[], String[], Csize_t[], Cint[], Cint[],
77
- String[], Dict {String, Dict{Any,String}} (), 0 , 0 , " " , Dates. unix2datetime (0 ), 0 , Cint[], Bool[])
77
+ String[], Dict {String,Dict{Any,String}} (), 0 , 0 , " " , Dates. unix2datetime (0 ), 0 , Cint[], Bool[])
78
78
end
79
79
80
80
include (" C_interface.jl" )
@@ -139,7 +139,7 @@ get_measure(variable::Ptr{Nothing}) = readstat_variable_get_measure(variable)
139
139
get_alignment (variable:: Ptr{Nothing} ) = readstat_variable_get_measure (variable)
140
140
141
141
function handle_variable! (var_index:: Cint , variable:: Ptr{Nothing} ,
142
- val_label:: Cstring , ds_ptr:: Ptr{ReadStatDataFrame} )
142
+ val_label:: Cstring , ds_ptr:: Ptr{ReadStatDataFrame} )
143
143
col = var_index + 1
144
144
ds = unsafe_pointer_to_objref (ds_ptr):: ReadStatDataFrame
145
145
missing_count = readstat_variable_get_missing_ranges_count (variable)
167
167
168
168
function get_type (val:: Value )
169
169
data_type = readstat_value_type (val)
170
- return [String, Int8, Int16, Int32, Float32, Float64, String][data_type + 1 ]
170
+ return [String, Int8, Int16, Int32, Float32, Float64, String][data_type+ 1 ]
171
171
end
172
172
173
173
Base. convert (:: Type{Int8} , val:: Value ) = ccall ((:readstat_int8_value , libreadstat), Int8, (Value,), val)
182
182
as_native (val:: Value ) = convert (get_type (val), val)
183
183
184
184
function handle_value! (obs_index:: Cint , variable:: Ptr{Nothing} ,
185
- value:: ReadStatValue , ds_ptr:: Ptr{ReadStatDataFrame} )
185
+ value:: ReadStatValue , ds_ptr:: Ptr{ReadStatDataFrame} )
186
186
ds = unsafe_pointer_to_objref (ds_ptr):: ReadStatDataFrame
187
187
var_index = readstat_variable_get_index (variable) + 1
188
188
data = ds. data
@@ -226,9 +226,9 @@ function readfield!(dest::DataValueVector{String}, row, val::ReadStatValue)
226
226
end
227
227
228
228
for (j_type, rs_name) in (
229
- (Int8, :readstat_int8_value ),
230
- (Int16, :readstat_int16_value ),
231
- (Int32, :readstat_int32_value ),
229
+ (Int8, :readstat_int8_value ),
230
+ (Int16, :readstat_int16_value ),
231
+ (Int32, :readstat_int32_value ),
232
232
(Float32, :readstat_float_value ),
233
233
(Float64, :readstat_double_value ))
234
234
@eval function readfield! (dest:: DataValueVector{$j_type} , row, val:: ReadStatValue )
@@ -267,7 +267,7 @@ function Parser()
267
267
parser = ccall ((:readstat_parser_init , libreadstat), Ptr{Nothing}, ())
268
268
info_fxn = @cfunction (handle_info!, Cint, (Cint, Cint, Ptr{ReadStatDataFrame}))
269
269
meta_fxn = @cfunction (handle_metadata!, Cint, (Ptr{Nothing}, Ptr{ReadStatDataFrame}))
270
- var_fxn = @cfunction (handle_variable!, Cint, (Cint, Ptr{Nothing}, Cstring, Ptr{ReadStatDataFrame}))
270
+ var_fxn = @cfunction (handle_variable!, Cint, (Cint, Ptr{Nothing}, Cstring, Ptr{ReadStatDataFrame}))
271
271
val_fxn = @cfunction (handle_value!, Cint, (Cint, Ptr{Nothing}, ReadStatValue, Ptr{ReadStatDataFrame}))
272
272
label_fxn = @cfunction (handle_value_label!, Cint, (Cstring, Value, Cstring, Ptr{ReadStatDataFrame}))
273
273
ccall ((:readstat_set_metadata_handler , libreadstat), Int, (Ptr{Nothing}, Ptr{Nothing}), parser, meta_fxn)
284
284
function parse_data_file! (ds:: ReadStatDataFrame , parser:: Ptr{Nothing} , filename:: AbstractString , filetype:: Val )
285
285
retval = readstat_parse (filename, filetype, parser, ds)
286
286
readstat_parser_free (parser)
287
- retval == 0 || error (" Error parsing $filename : $(error_message (retval)) " )
287
+ retval == 0 || error (" Error parsing $filename : $(error_message (retval)) " )
288
288
end
289
289
290
290
read_dta (filename:: AbstractString ) = read_data_file (filename, Val (:dta ))
0 commit comments