Mon objectif est de convertir des fichiers csv situés dans un répertoire en fichiers xls.
Mes fichiers csv sont notamment composés d'une ligne "marque" (ex : 1.0000, 2.0000 ...) et d'une ligne "date" (ex : 26/04/2013). Le format de ces deux lignes est très important pour moi.
J'utilise le code suivant :
import sys, csv, xlwt, glob, os
import shutil
def cont_directory ():
return glob.glob('/home/julien/excel/csv/*.csv')
liste = cont_directory()
try:
for i in liste:
f=open(i, 'rb')
g = csv.reader ((f), delimiter = ";")
workbook=xlwt.Workbook()
sheet= xlwt.Workbook()
sheet = workbook.add_sheet("To be modified")
for rowi, row in enumerate(g):
for coli, value in enumerate(row):
sheet.write(rowi,coli,value)
workbook.save(i + ".xls")
except:
print "epic_fail_Conversion", sys.exc_info()
for i in glob.glob ('/home/julien/excel/csv/*.xls'):
shutil.copy2 (i, '/home/julien/excel/xls')
try:
for j in glob.glob('/home/julien/excel/xls/*.xls'):
os.rename (j, j.replace ('.csv', ''))
except:
print "epic_fail_Conversion", sys.exc_info()
print "End"
Ce code fonctionne assez bien et j'ai mes nouveaux fichiers excel.
Le problème est que mes lignes ont été modifiées lors de cette conversion. Par exemple le contenu de la ligne "mark" est 1 au lieu de 1.00000. De plus, le contenu de la ligne "date" est 2013/04/26 au lieu de 26/04/2013.
Savez-vous ce que je pourrais faire pour conserver le format initial des lignes de mes fichiers csv ?
Merci beaucoup.