我明天会写一个小的 Python 脚本,首先从一个旧的 MS Access 数据库中检索所有数据到一个 CSV 文件中,然后在一些数据清理、修改等之后,我将把数据导入到一个 mySQL 数据库中Linux.
我打算使用 pyodbc 连接到 MS Access 数据库。我将在 Windows 环境中运行初始脚本。
数据库拥有超过 50 万行的 IIRC 数据。我的问题是:
- 记录的数量是否值得关注? (即我会达到一些限制吗)?
- 是否有更好的临时数据文件格式(而不是 CSV)?
我选择 CSv 是因为它非常简单明了(而且我是 Python 新手)——但是 我想听听以前可能做过类似事情的人的意见。
请您参考如下方法:
csvfile.reader 和 csvfile.writer 的内存使用量与记录数不成正比,只要您正确迭代并且不尝试将整个文件加载到内存中即可。这就是迭代器协议(protocol)存在的原因之一。同样,csvfile.writer 直接写入磁盘;它不受可用内存的限制。您可以使用它们处理任意数量的记录,而没有内存限制。
对于简单的数据结构,CSV 就可以了。与 XML 等更复杂的格式相比,快速、增量地 Access CSV 要容易得多(提示:pulldom 速度慢得令人痛苦)。
