我有一些代码旨在将 CSV 文件转换为制表符分隔的文件。我的问题是我无法弄清楚如何以正确的顺序编写正确的值。这是我的代码:
for file in import_dir:
data = csv.reader(open(file))
fields = data.next()
new_file = export_dir+os.path.basename(file)
tab_file = open(export_dir+os.path.basename(file), 'a+')
for row in data:
items = zip(fields, row)
item = {}
for (name, value) in items:
item[name] = value.strip()
tab_file.write(item['name']+'\t'+item['order_num']...)
tab_file.write('\n'+item['amt_due']+'\t'+item['due_date']...)
现在,由于我的两个write
语句都在for row in data
循环中,因此我的标题被多次写入。
如果我超出第一条write
语句,我将有一个明显的格式错误。
如果我将第二个语句移到第write
一个语句之上,然后再缩进,我的数据将是无序的。
我能做些什么来确保第一个write
语句被写入一次作为标题,第二个语句被写入 CSV 文件中的每一行?如何在不破坏字典的情况下提取循环外的第一个“写”语句?谢谢!