2010-11-19 132 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