2017-06-07 4 views
1
import xlwt 
import xlrd, xlutils 

wb = xlwt.Workbook() 
outsheet = wb.add_sheet('Page 1') 

files = [r'c:\file1', r'C:c:\file2',] 

outrow = 0 


for f in files: 

insheet = xlrd.open_workbook(f,formatting_info=True).sheets()[0] 
for row in range(insheet.nrows): 
    for col in range(insheet.ncols): 
     outsheet.write(outrow, col,insheet.cell_value(row, col)) 
    outrow += 1 
wb.save(r'C:\combined.xls') 

i obtenir une sortie comme
42753,61492
42753,61492
42753,61492
42753,61492
42753,61492J'éprouve des difficultés à lire la date et l'heure à partir d'une feuille Excel en utilisant python

où je cherchais quelque chose comme ce
2017-01-18 14:45:29 a
2017-01-18 14:45:29 a
18/01/2017 14:45:29 un
2017-01-18 14:45:29 un
2017-01-20 09:10:06 un

+1

Avez-vous regardé la bibliothèque 'datetime'? – mtkilic

+0

oui cela ne m'aide pas – jamuna

+0

Pourtant, vous n'avez pas inclus votre code en utilisant 'datetime' ici. – taras

Répondre

0
>>> import datetime 
>>> datetime.datetime(1899,12,30) + datetime.timedelta(days=42753.61492) 
datetime.datetime(2017, 1, 18, 14, 45, 29, 88000) 
0

Pouvez-vous donner à essayer cela:

from datetime import datetime 
import xlwt 
import xlrd, xlutils 

wb = xlwt.Workbook() 
outsheet = wb.add_sheet('Page 1') 

files = [r'c:\file1', r'C:c:\file2',] 

outrow = 0 


for f in files: 

insheet = xlrd.open_workbook(f,formatting_info=True).sheets()[0] 
for row in range(insheet.nrows): 
    for col in range(insheet.ncols): 
     outsheet.write(outrow, col,datetime.fromtimestamp(float(insheet.cell_value(row, col)))) 
    outrow += 1 
wb.save(r'C:\combined.xls') 
+0

TypeError: un nombre entier est requis (a obtenu le type str) a obtenu cette erreur – jamuna

+0

Je édite la réponse. – mtkilic

2

Vous avez juste besoin de définir le format numérique lorsque vous écrivez le classeur de sortie, le même que vous le feriez dans Excel. Ceci est fait en incluant un autre paramètre sur votre appel outsheet.write().

Malheureusement, la documentation "officielle" pour xlwt est assez difficile à utiliser. Beaucoup mieux est le old tutorial PDF. Là vous devriez lire sur les styles (XFStyle et easyxf). Ou encore mieux est d'abandonner complètement xlwt et passer à XlsxWriter, qui est plus facile à utiliser, a plus de fonctionnalités, a vastly better documentation, est activement maintenu, et génère des fichiers .xlsx actuels au lieu de fichiers .xls obsolètes.