将dbf文件附加到一个dbf-fi

2024-10-01 13:36:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个目录中有很多文件,比如['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)

Tags: 文件path目录脚本osopenfolderfilename
2条回答

考虑以下因素:

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(这是一个保留关键字,所以不要使用它),因为我看不到它在这里被用来做什么。在

快工作了。但是每个文件的头都写。我只想第一次写标题。如何每次跳过标题?在

相关问题 更多 >