0

我有一个要导入 MySQL 的 CSV 文件目录。大约有 100 个文件,手动导入很痛苦。

我的命令行是这样的:

mysqlimport -u root -ppassword --local --fields-terminated-by="|" data PUBACC_FR.dat

这些文件都是 type XX.dat,即AC.dat,CP.dat等。实际上我在处理它们之前先重命名它们(通过rename 's/^/PUBACC_/' *.dat)。理想情况下,我希望能够在一个脚本中完成这两项任务:重命名文件,然后运行命令。

从我读到的内容来看,是这样的:

for filename in os.listdir("."):
    if filename.endswith("dat"):
        os.rename(filename, filename[7:])

任何人都可以帮助我开始使用可以完成此任务的脚本吗?读取文件名,重命名它们,然后为每个文件运行mysqlimport命令?

谢谢!

4

1 回答 1

1

我想可以使用类似下面的python代码:

import subprocess
import os


if __name__ == "__main__":
    for f in os.listdir("."):
        if (f.endswith(".dat")):
            subprocess.call("echo %s" % f, shell=True)

显然,您应该将命令从 echo 更改为您的命令。

有关使用子进程的更多详细信息,请参阅http://docs.python.org/2/library/subprocess.html,或查看可能的重复项。

于 2013-10-19T15:47:53.523 回答