[英]Append dbf files to one dbf file
我在目录中有很多文件,例如['FredrikstadAvst1.dbf', 'FredrikstadAvst2.dbf', ...]
。 我想编写一个Python脚本将这些文件连接成一个新的"*.dbf"
文件。
我有一个几乎可以完成工作的Python脚本。 但是在输出文件上,它始终覆盖。 因此,当作业完成时,输出文件仅包含我目录中的最后一个文件。
这是我的脚本:
import os, glob, shutil
folder_path = r'C:\Tom\Oppdrag_2019\Pendle\2018'
for filename in glob.glob(os.path.join(folder_path, '*.dbf')):
fd = open(filename, 'r')
List = []
List.append(fd)
print filename
wfd = open(r"C:\Tom\Oppdrag_2019\Pendle\FredrikstadAvst.dbf",'a')
shutil.copyfileobj(fd, wfd, 1024*1024*10)
考虑以下:
import os, glob, shutil
folder_path = r'C:\Tom\Oppdrag_2019\Pendle\2018'
wfd = open(r"C:\Tom\Oppdrag_2019\Pendle\FredrikstadAvst.dbf",'w')
for filename in glob.glob(os.path.join(folder_path, '*.dbf')):
fd = open(filename, 'r')
shutil.copyfileobj(fd, wfd, 1024*1024*10)
fd.close()
wfd.close()
通过在循环之前打开文件并仅在遍历每个dbf文件之后关闭文件,它不应被覆盖。 我删除了List
(这是一个保留关键字,请不要使用它),因为在这里看不到它的用途。
现在几乎可以工作了。 但是标题为每个文件写。 我只想标题第一次写。 如何每次都跳过标题?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.