我的目標是將位於目錄中的csv文件轉換爲xls文件。在Python csv到xls轉換期間修改的格式
我的csv文件特別由行「標記」(例如1.0000,2.0000 ...)和行「日期」(例如26/04/2013)組成。 這兩行的格式對我來說非常重要。
我使用下面的代碼:
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"
該代碼工作得很好,我有我的新的Excel文件。
問題是我的行在該轉換過程中已被修改。 例如,「標記」行的內容是1而不是1.00000。 此外,行「日期」的內容是2013/04/26而不是26/04/2013。
你知道我能做些什麼,爲了保持我的csv文件的初始格式行嗎?
非常感謝。
此博客條目可能有所幫助:http://www.youlikeprogramming.com/2011/04/examples-generating-excel-documents-using-pythons-xlwt/ – ditkin 2013-04-25 22:37:39