在Python字典中一次迭代N个项目以进行CSV编写

在Python字典中一次迭代N个项目以进行CSV编写,python,csv,dictionary,Python,Csv,Dictionary,我有很多创建CSV文件的方法,这些方法开始让我觉得自己在重复自己。以下是几点: def genSmsOutputFile(self, smsDict): with open(settings.MEDIA_ROOT + 'smsOutput.csv', 'w+') as csvfile: writer = csv.writer(csvfile, delimiter=',') writer.writerow( ['電話番号','会員ID','TEL1','TE

我有很多创建CSV文件的方法,这些方法开始让我觉得自己在重复自己。以下是几点:

def genSmsOutputFile(self, smsDict):
    with open(settings.MEDIA_ROOT + 'smsOutput.csv', 'w+') as csvfile:
        writer = csv.writer(csvfile, delimiter=',')
        writer.writerow( ['電話番号','会員ID','TEL1','TEL2','TEL3','(ラベル無し)','(ラベル無し)','(ラベル無し)','(ラベル無し)','(ラベル無し)','(ラベル無し)','(ラベル無し)','(ラベル無し)','(ラベル無し)','(ラベル無し)','(ラベル無し)',] )
        for key, value in smsDict.items():
            phoneNumber = value[2] + value[3] + value[4]
            writer.writerow( [ phoneNumber, value[0], value[2], value[3], value[4],'','','','','','','','','','','',''] )
        return 'smsOutput.csv'

def genMailOutputFile(self, okMailMaga):
    with open(settings.MEDIA_ROOT + 'mailMagaOutput.csv', 'w+') as csvfile:
        writer = csv.writer(csvfile, delimiter=',')
        writer.writerow( [ '会員id','e-mail','お名前(姓)','お名前(名)','購入回数' ] )
        for key, value in okMailMaga.items():
            writer.writerow( [ value[0], value[1], value[2], value[3], value[4] ] )
        return settings.MEDIA_ROOT + 'mailMagaOutput.csv'
我正在创建函数_writeOutputofFileSelf、dictionary、columnNames:

但我发现自己被困在如何写这句话上:

 writer.writerow([value[0], value[1], value[2], value[3], value[4]])

是否有某种方法可以在一次循环迭代中动态地从字典中获取整个CSV行?

您可以连接列表以获得更大的列表。例如:

writer.writerow( [ phoneNumber, value[0], value[2], value[3], value[4],'','','','','','','','','','','',''] )
可以是:

writer.writerow([phoneNumber, value[0]] + value[2:5] + [''] * 12) 

您可以连接列表以获得更大的列表。例如:

writer.writerow( [ phoneNumber, value[0], value[2], value[3], value[4],'','','','','','','','','','','',''] )
可以是:

writer.writerow([phoneNumber, value[0]] + value[2:5] + [''] * 12)