我正在编写一个打开 DBF 文件的 Python 脚本,然后从中创建内容的文本输出(.txt 或 .csv)。
我现在已经设法让它写入输出文件,但我需要替换其中一个数据库字段中的空格字符(这是一个英国汽车注册号,例如我需要“AB09 CDE”输出为“AB09CDE”)但是我一直无法弄清楚如何做到这一点,因为它似乎是嵌套列表。在下面的代码中,该字段是 rec[7]。
if __name__ == '__main__':
import sys, csv
from cStringIO import StringIO
from operator import itemgetter
# Read a database
filename = 'DATABASE.DBF'
if len(sys.argv) == 2:
filename = sys.argv[1]
f = open(filename, 'rb')
db = list(dbfreader(f))
f.close()
fieldnames, fieldspecs, records = db[0], db[1], db[2:]
# Remove some fields that we don't want to use...
del fieldnames[0:]
del fieldspecs[0:]
#Put the relevant data into the temporary table
records = [rec[7:8] + rec[9:12] + rec[3:4] for rec in records]
# Create outputfile
output_file = 'OUTPUT.txt'
f = open (output_file, 'wb')
csv.writer(f).writerows(records)
这也在每个输出值的末尾添加了很多空格。我将如何摆脱这些?
我对 Python 还很陌生,因此我们将不胜感激地收到任何指导!