我在导入一些CSV/TXT文件时遇到问题。
在该公司,我们从其他来源(公司)接收文件。其中一些文件有时会部分损坏。
例如,一个包含6列(id、name、city、state、zipCode、phone)和200万行的文件。该文件的前10.000行没有问题。但在文件中间,它有5列甚至7列,而不是6列。
似乎有人将几个文件“合并”到这个文件中,而没有注意到列数。因此,当我将其导入到我的MySql数据库表中时,由于列被破坏,数据变得非常混乱。zipCode记录显示在字段状态上,依此类推。
我想知道如何在导入到我的数据库之前扫描这样的文件,就像计算每行的";“分隔符。它会使用正则表达式完成吗?或者最好的选择是什么?
我的程序是用Lazarus/Pascal编写的。
发布于 2015-11-23 19:14:07
我会逐行阅读该文件,并检查各列。
count count如果一行符合预期的列(count,,将其复制到另一个文件中,则不会将其转储到折行文件(input_KO.csv).中)。
研究input_KO.csv错误,纠正它们,然后将纠正后的文件导入数据库。
在这里,正则表达式需要很长时间。
https://stackoverflow.com/questions/33869372
复制相似问题