我的目标是将目录中本地化的 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 文件。
问题是我的行在转换期间已被修改。例如,“mark”行的内容是 1 而不是 1.00000。此外,“日期”行的内容是 2013/04/26 而不是 26/04/2013。
你知道我能做什么,以保持我的 csv 文件的初始格式行吗?
非常感谢。