我有很多统一行的文本文件,我想将它们加载到 mysql 数据库中,但这些文件并不完全统一。开头有几行用于一些杂项信息,大约每6行有一个时间戳。
由于我的文件格式,“LOAD DATA INFILE”似乎不是这里的答案。它似乎不够灵活。
注意:文件的标题占用预先确定的行数。时间戳是可预测的,但还有一些其他的随机注释可以弹出,需要忽略。它们总是以我可以检查的几个关键字开头。
中间我的文件样本:
103.3 .00035
103.4 .00035
103.5 .00035
103.6 .00035
103.7 .00035
103.8 .00035
103.9 .00035
Time: 07-15-2009 13:37
104.0 .00035
104.1 .00035
104.2 .00035
104.3 .00035
104.4 .00035
104.5 .00035
104.6 .00035
104.7 .00035
104.8 .00035
104.9 .00035
Time: 07-15-2009 13:38
105.0 .00035
105.1 .00035
105.2 .00035
从这里我需要将信息加载到三个字段中。第一个字段需要是文件名,另一个在示例中。我可以将文件名添加到每个数据行的前面,但如果我使用脚本加载数据,这可能不是必需的。
如果需要,我可以更改文件格式,但我不想丢失时间戳和标头信息。
对于我相当熟悉的 python,SQLAlchemy 似乎是一个不错的选择。
我有数千行数据,所以一开始加载我已经拥有的所有文件可能会很慢,但之后,我只想加载文件的新行。所以,我需要对我加载的内容有所选择,因为我不想要重复的信息。
关于从文本文件到 mysql 数据库的选择性数据加载方法有什么建议吗?除此之外,您建议仅加载数据库中尚不存在的文件行吗?
谢谢大家。同时,我将更多地研究 SQLAlchemy,看看我是否能找到合适的地方。