2012-11-26 32 views
0

我期待更改以下代碼,以便代替逐行寫入values的內容,代碼將只寫入一行,並將用逗號分隔values的所有內容,從而使所有的值都在.csv中的列中而不是行中(因爲它現在是正確的)。修改現有代碼以寫入列

for row in values: 
    writer.writerow({'Variable name': row, 'Variable value': values[row]}) 
    if row == 'C_SerialNumber': 
      logging.info("Writing data to csv file for SN: %s"%values[row]) 

最簡單的方法是什麼?我將基本上要執行以下操作:

Variable name, Variable value 
Name1, Value1 
Name2, Value2 
... 
NameX, ValueX 

化作:(我已經有該.csv標題創建和會只是希望value部分附加

Name1, Name2, ... , NameX 
Value1, Value2, ... , ValueX 

然後values數據也只是循環和附加到現有.csv文件。

這是可能的,如果是的話,容易嗎?

+0

看一看[csv.DictWriter](http://docs.python.org/3/library/csv.html?highlight=csv.dictwer er#csv.DictWriter)。 – Marius

回答

1
writer.writerow(values.keys()) 
writer.writerow(values.values()) 
+0

我不認爲這會因爲訂購問題而起作用,但是對於字典'mydict''dict(zip(mydict.keys(),mydict.values()))== mydict'賦值爲'True' 。誰知道? – jdotjdot

+0

字典只是散列鍵,所以順序是一致的。我確實先測試了它,但是...... ;-) –

+0

@D是的,但是除了OrderedDict'之外的字典並沒有明確排列,這就是爲什麼我起初不確定的原因。 – jdotjdot