如何重命名文件和更改文件类型?

时间:2011-11-17 13:53:15

标签: python excel csv rename dbf

我有一个包含.dbf个文件的列表,我想将其更改为.csv个文件。我在excel中打开它们并将它们重新保存为.csv,但这需要花费太多时间。

现在我创建了一个更改文件名的脚本,但是当我打开它时,它仍然是.dbf文件类型(虽然它被称为.csv)。如何以文件类型也发生变化的方式重命名文件?

我的脚本使用(dbf和csv文件名列在单独的csv文件中):

IN = dbffile name
OUT = csvfile name

for output_line in lstRename:
    shutil.copyfile(IN,OUT)

6 个答案:

答案 0 :(得分:6)

更改文件名(扩展名只是完整名称的一部分)对文件内容完全没有影响。您需要以某种方式将内容从一种格式转换为另一种格式。

使用my dbf modulepython非常简单:

import dbf

IN = 'some_file.dbf'
OUT = 'new_name.csv'

dbf.Table(IN).export(filename=OUT)

这将创建一个实际为csv格式的.csv文件。

答案 1 :(得分:2)

如果您曾经使用过VB或查看过VBA,您可以编写一个简单的Excel脚本来打开每个文件,将其保存为csv,然后使用新名称保存。

使用宏录制器录制一次,然后编辑生成的脚本。

我现在已经创建了一个自动执行此操作的应用程序。它名为xlsto(查找xls.exe发布文件)。它允许您选择一个文件夹并将所有xls文件转换为csv(或任何其他类型)。

答案 2 :(得分:0)

您需要转换器

在Google中搜索dbf2csv

答案 3 :(得分:0)

这取决于你想做什么。您似乎想要将文件转换为其他类型。那里有很多转换器,但仅有一台计算机并不知道每种文件类型。为此,您需要下载一些软件。如果您只想更改文件扩展名, (例如.png,.doc,.wav)然后您可以将计算机设置为能够更改名称和扩展名。我希望我能以某种方式帮助过:)

答案 4 :(得分:-1)

descargar libreria dbfpy desde http://sourceforge.net/projects/dbfpy/?source=dlp

import csv,glob
from dbfpy import dbf

entrada = raw_input(" entresucarpetadbf ::")


lisDbf = glob.glob(entrada + "\\*dbf")
for db in lisDbf:
    print db
    try:
        dbfFile = dbf.Dbf(open(db,'r'))
        csvFile = csv.writer(open(db[:-3] + "csv", 'wb'))

        headers = range(len(dbfFile.fieldNames))

        allRows = []
        for row in dbfFile:
            rows = []
            for num in headers:
                rows.append(row[num])
            allRows.append(rows)

        csvFile.writerow(dbfFile.fieldNames)
        for row in allRows:
            print row
            csvFile.writerow(row)

    except Exception,e:
        print e

答案 5 :(得分:-2)

可能是新文件名是“xzy.csv.dbf”。通常在C#中我将引号放在文件名中。这会强制操作系统更改文件名。在引号中尝试类似“Xzy.csv”的内容。