如何在Python中使用.writerow()进行切片

如何在Python中使用.writerow()进行切片,python,datetime,csv,python-2.7,Python,Datetime,Csv,Python 2.7,我在writerow()函数中遇到问题。我有一个这样的对象(订单矩阵): [[datetime.datetime(2008, 11, 20, 16, 0), 'AA', 'Buy', '100'], [datetime.datetime(2008, 11, 28, 16, 0), 'AA', 'Sell', '100'], [datetime.datetime(2009, 2, 17, 16, 0), 'AA', 'Buy', '100']] 2008,11,20,AA,Buy,10

我在
writerow()
函数中遇到问题。我有一个这样的对象(订单矩阵):

[[datetime.datetime(2008, 11, 20, 16, 0), 'AA', 'Buy', '100'],     
[datetime.datetime(2008, 11, 28, 16, 0), 'AA', 'Sell', '100'],
[datetime.datetime(2009, 2, 17, 16, 0), 'AA', 'Buy', '100']]
2008,11,20,AA,Buy,100,
2008,11,28,AA,Sell,100,
2009,2,17,AA,Buy,100,
并希望以CSV格式编写,如下所示:

[[datetime.datetime(2008, 11, 20, 16, 0), 'AA', 'Buy', '100'],     
[datetime.datetime(2008, 11, 28, 16, 0), 'AA', 'Sell', '100'],
[datetime.datetime(2009, 2, 17, 16, 0), 'AA', 'Buy', '100']]
2008,11,20,AA,Buy,100,
2008,11,28,AA,Sell,100,
2009,2,17,AA,Buy,100,
我尝试在for循环中使用
writerow()
函数:

with open('orders.csv', 'w') as orders_file:
  writer = csv.writer(orders_file)
  for row in orders_matrix:
    writer.writerow([row[:4], row[5:7], row[8:10], row[11:]])

但无法转换datetime对象并添加其他元素。我想知道是否可以这样做以及如何做。

您可以使用datetime对象的年、月、日属性来获取相关值。因此,最后一行可能会更改为:

writer.writerow([row[0].year, row[0].month, row[0].day, row[1], row[2], row[3]])
您可以使用将对象转换为对象,然后在将其转换为列表后将所需信息切掉

with open("orders.csv", "wb") as fin:
    writer = csv.writer(fin)
    for row in orders_matrix:
        writer.writerow(list(row[0].timetuple())[:3] + row[1:])