为什么我无法读取缺少的日期时间值?

时间:2019-10-07 17:32:00

标签: python pandas datetime spss

我想从SPSS中将日期类型变量读入Python数据框,如果缺少日期,则会收到错误消息,并且不确定如何解决?就像一个缺失的数值如何被编码为NaN一样,对于缺失的日期变量,我也想要类似的东西。

# Read in SPSS Database
with sRW.SavReaderNp('C:/Users/Sam/Downloads/File.sav') as reader:
record = reader.all()
SPSS_df = pd.DataFrame(record)

错误:

  

回溯(最近通话最近):文件   “ C:/Users/Sam/Python/Program.py”,第17行       SPSS_df = pd.DataFrame(record)

     

文件   “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ frame.py”,   第436行,在 init 中       mgr = init_dict(数据,索引,列,dtype = dtype)

     

文件   “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ internals \ construction.py”,   init_dict中的第257行       返回arrays_to_mgr(数组,数据名称,索引,列,dtype = dtype)

     

文件   “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ internals \ construction.py”,   第82行,在arrays_to_mgr中       数组= _homogenize(数组,索引,dtype)

     

文件   “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ internals \ construction.py”,   _homogenize中的第323行       val,index,dtype = dtype,copy = False,raise_cast_failure = False

     

文件   “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ internals \ construction.py”,   sanitize_array中的第664行       subarr = _try_cast(数据,dtype,副本,raise_cast_failure)

     

文件   “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ internals \ construction.py”,   _try_cast中的第784行       subarr = may_cast_to_datetime(arr,dtype)

     

文件   “ C:\ Users \ Sam \ Python \ venv \ lib \ site-packages \ pandas \ core \ dtypes \ cast.py”,   第1100行,时间可能在       值= tslibs.conversion.ensure_datetime64ns(值)

     

文件“ pandas_libs \ tslibs \ conversion.pyx”,第123行,在   pandas._libs.tslibs.conversion.ensure_datetime64ns

     

文件“ pandas_libs \ tslibs \ np_datetime.pyx”,第118行,在   pandas._libs.tslibs.np_datetime.check_dts_bounds   pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime:越界   纳秒级时间戳:1-01-01 00:00:00

print(记录)显示以下内容,实际数据集较大,但实际上实际上是问题所在的最后一行。

(b'86600   ', '2019-08-05T00:00:00.000000')
(b'86600   ', '2019-08-05T00:00:00.000000')
(b'86600   ', '0001-01-01T00:00:00.000000')

0 个答案:

没有答案