gpt4 book ai didi

c++ - 动态指定数据输入

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:52 25 4
gpt4 key购买 nike

所以我有很多文本文件,我正试图将它们放入数据库中。然而,这些文件是由很多人编写的。并以 ALLLLL 不同的格式出现。

与其为每个文件编写一个程序来导入它,我更喜欢尝试制作一个可以导入所有文件的程序。但我无法完全理解如何处理它。

这是我想做的:

#>prog somfile.txt
File data format?: U\tT:D

我已经准备好 db 和 ext 我只是不确定如何构建分隔列表解析器。

在我的程序中,id喜欢获取;每行类似:

std::string format = U\tT:D ; //set from input
std::string line = "Bob Dole<tab>11-13-17:25"; //Set from txt file readline
map<std::string,char> out = somefunc(line,format);

我希望:

out['U'] = "bob";
out['T'] = "11-13-17";
out['D'] = "25";
out['n'] = ""; //Nothing cause it wasn't there.

我想不出一种方法来做到这一点,因为数据中几乎可以包含任何字符。有些类型紧随其后。我只需要指出正确的方向。

最佳答案

没有简单的方法可以完成您所描述的事情,但是,如果您可以标准化某些组件,您可以让自己更轻松。此外,如果将这些输入数据库,您需要构建一些结构来正确映射所有内容。

我参与过的示例项目:

  1. 报告来自不同的源系统,具有不同的文件类型

  2. 这些报告需要直接输入数据库

在本例中,我同时使用了平面文件到 XML 转换器和 XML 到 XLSX 转换器。源系统将提供一个“XML”外观的文件,我已经从以前的项目中获得了一个 XLSX 转换器。有很多在线资源可以帮助您实现这一目标,但我建议您通过限制输入来避免一些麻烦。

进一步阐述:

我将各种文件类型转换为 XML 文件。一旦我有了 XML 文件,我就会将各种字段映射到另一个 XML 文件,这将是我的模板 (JDOM/JNI),该组件标准化了数据库中的实际内容。然后,您可以根据可能需要以特定方式格式化的重要字段(例如日期格式或货币值)使用正则表达式。这样我们就标准化了各个领域。然后我通过 Web 服务 SOAP UI 发布了最终确定的组件。

可能的问题:

  1. 特殊字符 - 您可以使用脚本或直接在程序中处理它
  2. 文件类型限制 - 您接受的文件类型越多,您需要进行的转换就越多,尤其是在使用各种分隔符分隔数据的情况下。

关于c++ - 动态指定数据输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46122932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com