如何重命名文件并更改文件types?

我有一个.dbf文件的列表,我想要更改为.csv文件。 我用Excel打开它们,然后把它们保存为.csv ,但是这需要太多的时间。

现在我做了一个改变文件名的脚本,但是当我打开它时,它仍然是一个.dbf文件types(虽然它被称为.csv )。 我怎样才能以文件types也改变的方式重命名文件?

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

 IN = dbffile name OUT = csvfile name for output_line in lstRename: shutil.copyfile(IN,OUT) 

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

使用我的dbf模块和python很简单:

 import dbf IN = 'some_file.dbf' OUT = 'new_name.csv' dbf.Table(IN).export(filename=OUT) 

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

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

使用macroslogging器自己logging一次,然后编辑生成的脚本。

我现在已经创build了一个自动化的应用程序。 它叫做xlsto (查找xls.exe发行版文件)。 它允许你select一个文件夹,并将所有xls文件转换为csv(或任何其他types)。

你需要一个转换器

在谷歌searchdbf2csv

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

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 

这可能是新的文件名是“xzy.csv.dbf”。 通常在C#中,我把报价放在文件名中。 这迫使操作系统更改文件名。 尝试使用引号中的“Xzy.csv”。