问题标签 [textfieldparser]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb.net - 'System.IndexOutOfRangeException?输入验证?视觉基础
我修复了标签,认为 VBA 意味着视觉基础,但我在这个领域很天真。
我不确定我在这里做错了什么..
我想我忘记了附近的输入验证,readfile()
但我不知道如何编码它..当我运行程序时,我得到一个错误,currentrecord(4).
请帮助.. .-。
我能够让代码输出一些东西,但它不完整。我认为输入文件存在问题(这是一个作业),但我不确定如何解决它。
arrays - TextFieldParser 中的 ReadFields() 抛出异常
我在一个文件夹中有一堆 csv 文件。这是一个示例:
我编写了一个代码来根据该文件夹中所有 csv 文件中可用的信息绘制图表。这是我的按钮点击事件:
如果您查看我的示例 csv,Row4 的值为 Val4"。请注意其中的双引号。并且,我在currentRow = MyReader.ReadFields()的代码中遇到异常,它表示无法使用第 5 行解析当前分隔符。我知道原因是因为双引号的存在。由于这是一个字符串数组,我认为我需要创建一个函数来处理数组中的每个项目并修剪掉双引号。但是,我不能这样做,因为即使在我可以处理字符串数组之前也会引发异常。
关于如何解决这个问题的任何想法?
哈里
c# - 当我遍历第一个文件时不想添加标题行
我想做什么
基本上我会遍历我的所有文件夹以捕获是否有 .txt 文档。当我通过这个循环时,我想将此文档中的标题和行添加到DataTable
. 我的列在每个文件中总是相同的。
我到目前为止使用的代码
我的问题是什么
那么在我的代码中,我尝试将数据添加到一个DataTable
名为 eachfile 的文件中。但是我不能将它添加到我的 mainDataTable csvData
中,因为它每次都会被覆盖。我真正想要的是将所有数据收集到一个 DataTable csvData 但只添加一次 HeaderRows (从我循环的第一个文件开始)
我需要什么
我需要重新编写我认为的代码,所以当我遍历第一个文件时,它使用此处的代码将我的标题添加到csvData DataTable
完成此操作并且我已从第一个文件中插入数据后,我不想为下一个文件再次添加标题行,因为它会由于名称重复而失败。但只将数据添加到已经存在的 csvData 中(而不是覆盖之前添加的数据)
我想我能做什么?
我想我需要计算它是否是第一个文件,并做这样的事情,我计算完整路径的数量,如果是 1,我会通过标题,否则我会转到我的 else,我首先读取行,所以我不会得到第一个排?
提前致谢 !
c# - TextFieldParser - 检索 ReadFields 读取的行
我正在从文本文件中读取数据,每行应该至少有 9 个字段。一些数据只有 5 个字段,因此 ReadFields() 有效,并且在访问字段 [8] 时出现异常。我宁愿抛出一个自定义异常,显示未完成的行。
TextFieldParse
似乎没有用于检索ReadFields()
刚刚处理的行的属性。
想在此处添加异常消息返回“短”行
正常处理
一种可能性是使用 TextReader 来读取每一行,并为每一行使用一个新的 TextFieldParser 作为 MemoryStream - 似乎太多了
还有其他更合理的方法吗?
c# - 如何使 readfield 读取下一个字段
我的 csv 文件包含 8 列和 300k 行。这是我的 csv 文件的示例“0195153448”;“古典神话”;“Mark PO Morford”;“2002”;“牛津大学出版社”;“ http://images。 amazon.com/images/P/0195153448.01.THUMBZZZ.jpg ";" http://images.amazon.com/images/P/0195153448.01.MZZZZZZZ.jpg ";" http://images.amazon.com/images/ P/0195153448.01.LZZZZZZZ.jpg “
0002005018”;“Clara Callan”;“Richard Bruce Wright”;“2001”;“HarperFlamingo Canada”;” http://images.amazon.com/images/P/0002005018.01.THUMBZZZ .jpg ";" http://images.amazon.com/images/P/0002005018.01.MZZZZZZZ.jpg ";"http://images.amazon.com/images/P/0002005018.01.LZZZZZZZ.jpg "
现在我有这个代码供阅读
这样我可以读取前 8 行。但是在那之后我什么都不能读取。它只读取第 8 行。我怎样才能告诉代码它也应该在选项卡之后读取。我尝试将 \t 添加到 setdelimiters 但没有不行。有什么建议吗?
vb.net - FileIO.TextFieldParser 获取未更改的行以报告解析失败
如果有错误,我想输出当前行,但我收到一条消息,指出当前记录什么都没有。
这是我的代码:
我需要输出当前行,以便向用户报告有不良记录。
我知道如果解析失败,该值将为空,但有没有办法获取当前记录?
如果无法解析记录,如何输出该记录?
感谢您的帮助!
c# - 如何修复:使用 TextFieldParser 读取 csv 文件时出现特殊字符
我正在导入一个 csv 文件,在读取它时,读取的字符串中出现了像“�”这样的特殊字符,如何避免这些 unicode 字符。
我正在使用 TextFieldParser 来解析数据,但是在阅读时,句子中两个字符串之间的空格被替换为字符“�”。尝试对字符串进行包含搜索并替换字符,但特殊字符稍后可能会有所不同。
c# - 如何使用指定日期格式从 TextFieldParser 读取 .csv 文件?
编辑:这个问题是基于我对 Excel 行为的误解。我一直认为 M/DD/YYYY 格式在输入文件中,但这只是 Excel 对其重新格式化,TextFieldParser 确实保留了原始格式 YYYY-MM-DD。谢谢大家让我得出这个结论。
我正在使用 C# 中的 TextFieldParser 类从控制台应用程序的 .csv 文件中读取,如下所示:
输入文件中日期的格式是M/DD/YYYY
. 但是,我需要格式是别的东西,比如说MM/DD/YYYY
.
当 TextFieldParser 读取日期字段时,它将它们更改为YYYY-MM-DD
我在输出中看到的格式,因此我知道它以某种方式识别看起来像日期的字段并将它们转换为特定格式。我的问题归结为简单地改变这种格式。希望有一些方法可以做到这一点......
我知道我可以在解析器读取日期字符串后简单地编辑它们,但这对我来说似乎很草率。
谢谢。
string - 如何使用 FixedWidth 将 1 列数据表转换为多列数据表
我正在使用一个名为 BluePrism 的机器人程序来自动读取、解释并最终在大型机应用程序中工作。大型机应用程序已过时,其会话文件与 BluePrism 不兼容。如果是这样,我就不会尝试我将要向您展示/询问您的内容。
既然我们不能使用 BluePrism 中内置的屏幕阅读功能,为什么不让机器人将整个屏幕复制为文本呢?我想,文本操作在这里会很好用。
无论如何,我让机器人复制屏幕,我可以从剪贴板获取屏幕。没问题。我什至在 DataTable 中有屏幕(BluePrism 将它们称为集合,但对象相同),其中每一行都是屏幕中的一行。惊人的。
好吧,现在这是我尝试执行但失败的代码的问题。我想使用 TextFieldParser 和 FixedWidth 拆分该 DataTable 中的每一行,因为我不能使用字符分隔符或空格。然后将该拆分行添加到新的输出数据表中。这样我以后可以在 BluePrism 中使用它。下面的代码编译。我没有发现错误。我也没有未处理的。我得到的是一个空的输出 DataTable 但它有正确的行数。所以一个逻辑错误,但如果我看到我做错了什么,我会被诅咒的。
我知道 TextFieldParser 正在工作,因为我可以将字符串数组 colFields 输出到文本文件,并且我得到了刚刚复制回给我的屏幕部分。所以 for 循环R.Item(i) = colFields(i)
中的步骤没有按预期工作,或者 addSplitScrnSectColl.Rows.Add(R)
没有工作。虽然没有错误。只是一个空白的数据表。任何帮助,将不胜感激。
ScrnSectColl 是输入数据表,由屏幕上的文本行组成。SplitScrnSectColl 是 7 列全文本的输出 DataTable。