在Vega中是否支持读取;等自定义分隔符的CSV文件?
Vega加载分号分隔CSV文件的实现方案
首选方案:使用内置DSV格式
Vega原生提供dsv格式类型,专门用于处理自定义分隔符的类CSV文本,完全等价于pd.read_csv(sep=';')的效果,会自动识别表头、解析字段、推断数据类型,配置代码如下:
"data": { "url": "https://url.csv", "format": { "type": "dsv", "delimiter": ";" } }
你只需要把原来的type: "csv"替换为type: "dsv",新增delimiter参数指定分隔符为;即可直接使用,不需要额外的处理逻辑。
兜底方案:手动解析文本(仅用于特殊场景)
如果遇到极旧版本Vega不支持DSV格式的情况,可以先把文件作为纯文本加载,再通过转换规则手动解析成结构化数据,配置示例如下:
"data": { "url": "https://url.csv", "format": {"type": "text"} }, "transform": [ {"split": "data", "by": "\n", "as": "rows"}, {"flatten": ["rows"]}, {"filter": "datum.rows != ''"}, {"window": [{"op": "first_value", "field": "rows", "as": "header"}]}, {"filter": "datum.rows != datum.header"}, {"calculate": "split(datum.header, ';')", "as": "headers"}, {"calculate": "split(datum.rows, ';')", "as": "fields"}, {"zip": ["headers", "fields"], "as": "row"} // 后续可根据需要通过formula算子提取对应字段使用 ]
内容的提问来源于stack exchange,提问作者csaladenes
相关产品推荐
相关产品推荐

