You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 09:46:05