我有一个 CSV 文件目录,我想将其导入 MySQL。大约有 100 个文件,手动导入很痛苦。
我的命令行是这样的:
mysqlimport -u root -ppassword --local --fields-terminated-by="|" data PUBACC_FR.dat
这些文件都是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
命令?
谢谢!
最佳答案
我想可以使用类似下面的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有关使用子流程的更多详细信息,或查看可能的重复内容。
关于Python - 对目录中的每个文件执行命令行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19467285/