2010-11-19 130 views
0

我試圖使用python 2.6創建日誌輸出。添加列在Python中的表格

數據來自數據庫。我想要做的是在時間戳= strftime("%Y-%m-%d %H:%M:%S")的所有行中添加一列。大約有50行。

然後放入一個csv表。

.append.extend似乎添加行而不是列。是否有捷徑可尋?

我應該拼接數據添加列嗎?

+0

你是如何讀數據庫的? – 2010-11-19 13:21:46

+0

使用python pyodbc – Merlin 2010-11-19 13:24:15

+0

請舉一個你的數據的例子。這是你想添加到單行嗎?是字典還是列表?或者你有一個列表的清單?或列表清單?請明確說明。 – plundra 2010-11-19 13:28:23

回答

3

一個簡單的例子:

如果你有一個像

l = [[1,2,3,4], 
    [5,6,7,8], 
    [9,10,11,12]] 

然後l.append(13)二維列表讓你

l = [[1,2,3,4], 
    [5,6,7,8], 
    [9,10,11,12], 
    13] 

我以爲是你的意思是什麼「它增加了行,而不是列「。

你可能想l[0].append(13)它給你

[[1,2,3,4,13], 
[5,6,7,8], 
[9,10,11,12]] 

如果你想對所有行做到這一點,你可以使用

for row in l: 
    row.append(13) 

給你

[[1, 2, 3, 4, 13], 
[5, 6, 7, 8, 13], 
[9, 10, 11, 12, 13]] 

當然,在你的情況下,你會想添加時間戳而不是13,但是原理是一樣的。然後將2D列表轉換爲csv對象是很簡單的。

+0

很酷,是的,謝謝你會怎麼做[[13,1,2,3,4], [13,5,6,7,8], [13,9,10,11,12]] – Merlin 2010-11-19 13:46:24

+0

'行中l:row [0:0] = [13]'。它被稱爲[切片分配](http://docs.python.org/tutorial/introduction.html#lists) – 2010-11-19 13:58:13

+0

在此錯誤中插入「13」,pyodbc.Row'對象沒有任何屬性'append .... fetched好吧然後「添加行l: row.append(13)」並跑入概率。 – Merlin 2010-11-19 14:03:17