我有很多统一行的文本文件,我想将它们加载到MySQL数据库中,但这些文件并不是完全统一的。开始时有几行用于获取其他信息,每6行有一个时间戳。
因为我的文件格式,“加载数据内嵌”看起来不像这里的答案。它似乎不够灵活。
注意:文件头占用预先确定的行数。时间戳是可预测的,但也有一些其他随机注释可以弹出,需要忽略。他们总是以几个关键词开始,我可以检查。
中间的文件示例:
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来说,sqlacalchemy似乎是一个不错的选择。
我有成千上万行的数据,因此在一开始加载我已经拥有的所有文件可能会很慢,但之后,我只想加载到
新的
文件行。所以,我需要有选择性地输入内容,因为我不需要重复的信息。
对于从文本文件到MySQL数据库的选择性数据加载方法有什么建议吗?
除此之外,对于只加载数据库中不存在的文件行,您有什么建议?
谢谢大家。同时,我会进一步研究一下sqlacalchemy,看看我是否能从中得到什么。