Arrow open_dataset()报错:指定utf8列仍出现int64转换失败
问题详情
我尝试加载从大型母数据集拆分出的4个CSV文件,使用open_dataset的代码如下:
hh<-open_dataset( sources="本地文件夹路径", format="csv", skip_rows = 1, schema=schema( REG= int64(), PRV= int64(), MUN= int64(), BGY= int64(), EA= int64(), BSN= int64(), HUSN= int64(), HSN= int64(), FTYPE= utf8(), MODE= utf8(), LNRES= int64(), B1= int64(), B2= int64(), B3= int64(), B4= int64(), B5= int64(), B6= int64(), B7= int64(), B8= int64(), D1= int64(), H1= int64(), H2= int64(), H3A= int64(), H3B= int64(), H3C= int64(), H3D= int64(), H3E= int64(), H3F= int64(), H4= int64(), H5= int64(), H6= int64(), H7= int64(), H8= int64(), H9= int64(), H10= int64(), H11A= int64(), H11B= int64(), H11C= int64(), H11D= int64(), H12A= int64(), H12B= int64(), H12C= int64(), H12D= int64(), H12E= int64(), H13= int64(), H14= int64(), H15A= int64(), H15B= int64(), H15C= int64(), H15D= int64(), H15E= int64(), H15F= int64(), H15G= int64(), H15H= int64(), H15I= int64(), H15J= int64(), H15K= int64(), H15L= int64(), H15M= int64(), H15N= int64(), H15O= int64(), H15P= int64(), H15Q= int64(), H15R= int64(), H15S= int64(), H16A= int64(), H16B= int64(), H16C= int64(), H16D= int64(), H17A= int64(), H17B= int64(), H17C= int64(), H17D= int64(), H17E= int64(), H17F= int64(), H17G= int64(), H17H= int64(), H14RECODE= int64(), BSN_1ST= int64(), HUSN_1ST= int64(), HSN_1ST= int64() ) )
参照Hadley Wickham的教程将数据集转换为Parquet格式,代码如下:
pq_path1<-"本地文件夹路径" hh %>% write_dataset(path = pq_path1, format = "parquet")
但始终收到错误提示:
Invalid: In CSV column #10: Row #1056: CSV conversion error to int64: invalid value ''
尽管我已在schema中将第10列MODE指定为utf8()类型:
MODE= utf8(),
此外,我尝试通过以下代码创建仅包含部分列的Arrow数据集:
hh<-hh %>% select(LNRES, REG, PRV, MUN, BGY, EA, BSN, HUSN, HSN, H6, starts_with("H16"), B3, B4,H6,H9,H10, starts_with("H15") ) hh<-hh |> select(LNRES, REG, PRV, MUN, BGY, EA, BSN, HUSN, HSN, H6, starts_with("H16"), B3, B4,H6,H9,H10, starts_with("H15") )
同样收到错误提示:
CSV conversion error to int64: invalid value ''
同时R的全局环境中输出了一个列表。
内容的提问来源于stack exchange,提问作者M.A.
相关产品推荐
相关产品推荐

