Univocity - 解析 CSV 时检测缺失列

2024-02-18

我正在使用 Univocity 库来解析 CSV,它工作得很好,但我需要一种方法来检测正在解析的文件的列数是否少于所需的列数

例如,如果我期望一个 3 列文件,其中列映射到 [H1,H2,H3],那么我收到一个如下所示的文件(没有标题)

V1_H1,V1_H2
V2_H1,V2_H2

使用时

record.getString("H3");

这会返回null,相反,我需要这个文件要么无法解析,要么我可以检查它是否错过了列并停止处理它

有什么办法可以实现这一点吗?


因此,由于我的主要问题是确保标题计数与 CSV 文件中提供的列数相同,并且由于我使用迭代器来迭代记录,因此我添加了如下检查:

CsvParser parser = new CsvParser(settings);
ResultIterator<Record, ParsingContext> iterator = parser.iterateRecords(inputStream).iterator();
if(iterator.getContext().parsedHeaders().length != settings.getHeaders().length){
    throw new Exception("Invalid file");
}

它对我有用,不确定是否有更好的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Univocity - 解析 CSV 时检测缺失列 的相关文章

随机推荐

  • 确定插入符何时到达输入框的末尾

    我已经发现这个问题 https stackoverflow com questions 263743 how to get cursor position in textarea它提供了一种计算文本或输入框中插入符号的确切位置的解决方案 就
  • 如何在 Google colab 中循环播放音频

    我试图在 google colab 中循环运行音频 但它没有给 mi 任何输出 from gtts import gTTS from IPython display import Audio for voice in Aniket sach
  • 在 VR 中单击 inputField 时打开键盘(Oculus Quest 2 和 XRIT)

    我目前正在使用 Unity 为 oculus quest 2 开发一个小型应用程序 我创建了一个画布 在其中添加了一个按钮和一个输入字段 通过使用 XR 交互工具包 我可以使用两个控制器单击按钮或输入字段 但是 仍然无法在输入字段中输入任何
  • 如何在 Android 中使用双三次插值在画布上绘制和缩放位图?

    我想在画布上绘制比实际尺寸更大的位图 我可以使用 canvas drawBitmap bitmap null destRect null 但是 如果源图像比目标矩形小得多 那么质量就会很差 因为结果会像素化 如何使用双线性或双三次重采样绘制
  • 基于其他规则应用 CSS 规则 - RTL 特定样式

    推介会 我正在尝试建立一个可用于多种文化 具有不同阅读方向的网站 为此 我只需添加dir rtl 我的根 HTML 元素上的属性 我的问题是 我有一些特定于一个方向或另一个方向的 CSS 规则 大多数情况下是边距或填充 尝试使用属性选择器失
  • 编码 - codePointCount 和 length 之间的结果不同

    我发现了一个棘手的地方 但找不到任何答案为什么会发生这种情况 主要问题是字符串有多长 它是否包含一个或两个字符 Code public class App public static void main String args throws
  • 如何在 Travis CI 中使用 python-openbabel?

    我使用 Travis CI 作为毒理学绘图项目的一部分 对于这个项目 我需要 python openbabel 作为依赖项 因此 我已将 apt get 安装程序添加到 travis yml 文件中 如下所示 已删除注释 language
  • 在matlab中计算闭合曲线(或多边形)的曲率

    考虑以下几点 x 1 34 0 92 0 68 0 25 0 06 0 34 0 49 0 72 0 79 0 94 1 35 0 35 0 54 0 68 0 84 1 20 1 23 1 32 1 34 y 0 30 0 43 0 90
  • 如何快速混合 RGBA 无符号字节颜色?

    我正在使用 c 我想使用以下代码进行 alpha 混合 define CLAMPTOBYTE color if color 255 color BYTE color gt gt 31 else color BYTE color define
  • 创建DIBection失败

    BITMAPINFO bmi memset bmi 0 sizeof BITMAPINFO bmi bmiHeader biSize sizeof BITMAPINFOHEADER bmi bmiHeader biWidth m pImg
  • NOT EXISTS 和 COUNT(*) 之间的区别

    我在两个我认为等效的语句之间得到了不同的响应 SELECT COUNT vs NOT EXISTS 在大约 50 次执行中的 49 次中 这两个语句的行为相同 但有时却不然 我的猜测是 这些语句处理锁定页面或处理更 遥远 的事情的方式之间存
  • 将到期日期格式化为 mm/yy 格式

    您好 我正在编写一个编辑文本 其中我想要 MM YY 格式的信用卡到期日期 我要实现的算法如下 如果用户输入 2 到 9 之间的任何内容 我将文本输入更改为 02 到 09 如果用户输入 1 那么我等待下一个数字并检查 int 值月份是否小
  • 执行期间检测下溢

    有没有办法在执行过程中自动检测下溢 具体来说 我认为应该有一个编译器选项来生成代码 在可能导致下溢和类似错误的数学运算之后立即检查它们 我说的是 G 编译器 C99 C 11 具有浮点控制函数 例如fetestexcept 和定义的标志 包
  • 有人可以发布一个 Swift 中 MVC 模式的好例子吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 一个实现了MVC模式的简单项目 到目前为止 我对它的情况有一个简单的了解 但我想看看实际的实现 这是
  • 从 Hive 表读取数据创建的 Spark DataFrame 的分区数

    我对 Spark 数据帧分区数量有疑问 如果我有 Hive 表 员工 其中包含列 姓名 年龄 ID 位置 CREATE TABLE employee name String age String id Int PARTITIONED BY
  • 从 github wiki 页面创建 gitbook

    我在 github wiki 中有很多文档 我想整理它并用它创作一本书 当我更新维基时 这本书也应该更新 这可能吗 欢迎来到 Gitbook 这项服务可能会对您有所帮助 https docs gitbook com integrations
  • jQuery 解析 XML 在 jQuery Mobile 列表中显示 UL UL 仅返回 XML 中的最后一项

    我正在使用 jQuery Mobile 1 1 1 和 jQuery 1 7 1 JQuery mobile 可以有一个嵌套列表 单击后可以在另一个屏幕中显示下一个 ul 看这个例子 我试图通过解析 XML 数据文件来做到这一点 我列出列表
  • Flutter如何更改ListTile中选定图块的背景颜色

    我正在尝试更改 ListTile 中选定图块的背景 我搜索并找到了以下两篇文章 但是它们都不能解决我的问题 Post1 https stackoverflow com questions 49331612 change background
  • 更改 Maven Archetype 中的包属性

    我创建了一个 Maven 原型 我的META INF maven archetype metadata xml看起来像这样
  • Univocity - 解析 CSV 时检测缺失列

    我正在使用 Univocity 库来解析 CSV 它工作得很好 但我需要一种方法来检测正在解析的文件的列数是否少于所需的列数 例如 如果我期望一个 3 列文件 其中列映射到 H1 H2 H3 那么我收到一个如下所示的文件 没有标题 V1 H