Escribir y leer las filas más recientes (por fecha) de la base de datos

Tengo tres preguntas en el siguiente código, básicamente estoy tratando de escribir filas con formato currentdate, contar, seguir adjuntando la fecha de la fila al mismo archivo .csv … leer las últimas 5 entradas e imprimirlo, actualmente probé lo siguiente y se ejecuta en el siguiente error.

1.Cómo escribo una fila con el formato de la fecha actual, cuente a un archivo csv 2.cómo seguir adjuntando el mismo archivo .csv la próxima vez que se ejecute el script 3.cómo obtener las entradas recientes (por fecha) de. archivo csv

import csv import datetime icount=5 now = datetime.datetime.now() time =now.strftime("%Y-%m-%d %H:%M") #Keep appending date and count everytime this script is run c = csv.writer(open("trend.csv", "wb")) c.writerow(time,icount) #Now read the recent 5 entries and print cr = csv.reader(open("trend.csv","rb")) for row in cr: print row 

Error:-

 >>>>python database.py Traceback (most recent call last): File "database.py", line 9, in  c.writerow(time,icount) TypeError: writerow() takes exactly one argument (2 given) 

  1. El error que está obteniendo es porque writerow toma un interable como un argumento, así que intente:

     c.writerow([time, icount]) 
  2. Si desea adjuntar a un archivo en lugar de sobrescribir uno existente, use 'a' lugar de w cuando lo abra, ala:

     open('trend.csv', 'a') 

    Esto se explica en la documentación de Python.

  3. Probablemente puede ejecutar un filtro u ordenar en las filas del lector. Esto puede causar problemas, por lo que una herramienta alternativa como csvquerytool podría ser útil. Hay pocas libretas como esta en pypi.