当前位置: 首页 > 面试题库 >

编辑CSV文件(设计实现)

颜畅
2023-03-14
问题内容

我开始设计一个程序,该程序将基于已找到并保存到主CSV / Excel文件中的相似字符串及其标识,自动执行正确地查找和识别字符串的过程。

现在,我想适当地设计它,这样以后在实现CSV / Excel阅读写作部分时就不会遇到问题。

我可能会使用OpenCSV来读写文件,所以我的问题更多是关于如何编辑文件。

上次处理编辑CSV文件时,我不得不将每行重写为新文件或现有文件,而不仅仅是编辑特定行。这是唯一的方法吗?

前-如果我的csv是这样的

1,2,3  and i wanted to change   1,2,3
4,5,6   4,5,6 to a,b,c          a,b,c
7,8,9                           7,8,9

唯一的方法是读取每一行,如果需要的话进行更改,然后再次将其写出?有没有办法只编辑中间线?

我之所以这样问,是因为我计划通过GUI进行很多自定义用户更改,并且每次将更改写入文件都可能很糟糕?

我认为将每个行或单元格保存在数组中并编辑该数组将是更有效的解决方案。

您在编辑CSV文件时可以提供任何技巧或建议吗?

旁注:我可能会用Java进行此操作,因为我最熟悉使用Swing构建GUI的情况,但是我愿意尝试使用另一种语言进行尝试。


问题答案:

首先,在使问题过于复杂的过程中,将问题分解为各个部分。

问题的根源在于,您有一个包含记录的文件,您正在为其编写gui以允许用户进行编辑。

为了提高性能,您希望读取和写入同一文件,并尝试仅读取或写入一条记录。

有问题的文件为csv格式

因此,您第一个患上感冒,因此无需克服。

我要说的第二部分与许多感叹号无关。这样做的原因是最坏的情况-
程序崩溃。此时,您已损坏了原件。如果您知道记录的数量很少,则将整个内容读入内存(例如字符串列表),然后将各个字符串解析为它们的记录,并在用户完成操作后将它们保存下来,将其写入另一个文件中完成后,您将删除原始文件并将第二个文件重命名为第一个文件。这样,如果遇到最坏的情况,您将拥有完整的原始文件,或者更改的名称不同。

如果一次无法容纳太多内存,则可以使用RandomAccessFile来读写同一文件。但是我建议您在开始时复制该文件(使用某些编辑器使用的.tmp或.swp)并对其进行处理,因为它仍然可以保护您免受可怕的崩溃的影响。

之后,这就是您处理CSV数据的方式。如果是简单文本,则可以使用Java String
split方法。如果更复杂,则openCSV具有CSVParser方法,该方法将为您将String解析为字符串数组。还有一个CSVParserBuilder,它简化了解析器的构造。

希望能有所帮助。

:)



 类似资料:
  • vi 可以在命令行下编辑文件。 vi 要编辑的文件路径 练习:编辑文件 vi ninghao-project/README.md 这样会打开要编辑的文件,使用方向键可以移动光标。 编辑 想要编辑按一下小 i ,这样会进入到 vi 编辑器的编辑模式。这时你可以编辑文件里的内容,修改完成以后,按 esc 可以退出编辑模式。 搜索 搜索文件里的内容可以按 / ,然后输入要搜索的关键词,n 继续查找,

  • 第四章 文本编辑器的设计(二) 4.4.2查找对话框部件 查找对话框部件为应用程序提供查找对话框, 用户可使用查找对话框在文本文件中查找字符串。 可用Execult方法显示查找对话框,如图4.8。应用程序要查找的字符放到FindText属性中。Options 属性可决定查找对话框中有哪些选项。例如, 用户可选择是否显示匹配检查框。Options的常用选项如表4.2所示。 如果用户在对话框中输入字符

  • 第四章 文本编辑器的设计(一) 本章介绍多文本界面(MDI)、多页面界面(MPI)技术;VCL库中TMemo,TEdit 控件以及有关文本编辑的常用对话框的使用。我们开发的MPIEdit.dpr是一个文本编辑的实用程序,可实现如下功能: MDI的编辑环境 MPI的编辑环境 创建打开、编辑、保存文件 查找、替换文件中指定的字符串 复制、粘贴、剪切字符串 设置文件字体大小 打印文件 本章将通过MPIE

  • 问题内容: 我正在使用下面引用的代码使用Python编辑CSV。代码中调用的函数构成了代码的上部。 问题:我希望下面引用的代码从第二行开始编辑csv,我希望它排除包含标题的第一行。现在,它仅在第一行上应用函数,并且我的标题行正在更改。 我试图通过将变量初始化为来解决此问题,但没有成功。 请帮助我解决这个问题。 问题答案: 您的变量是可迭代的,通过循环它可以检索行。 要使其在循环前跳过一项,只需调用

  • 问题内容: 我有一个不完整的csv文件,需要准确更新,因此有这样的csv文件: 自然地,文件要复杂得多,但是以这种格式,这是我要在7到8(或任何范围)之间插入或n个单词的内容。我怎样才能做到这一点? 伪代码,代码或示例都很好,我不知道如何开始。 更新: 也许我应该将其转换为数组或某种数据结构。然后,在特定位置插入新项目,将其余内容右移,并在每次插入时执行该操作。 我不知道是否正确的方法或如何开始对