2

私の目標は、ディレクトリにある csv ファイルを xls ファイルに変換することです。

私のcsvファイルは、特に行「マーク」(例:1.0000、2.0000 ...)と行「日付」(例:26/04/2013)で構成されています。この 2 行の形式は、私にとって非常に重要です。

次のコードを使用します。

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.00000 ではなく 1 です。さらに、行「日付」の内容は、2013/04/26 ではなく 2013/04/26 です。

私のcsvファイルの初期フォーマット行を保持するために、私に何ができるか知っていますか?

どうもありがとうございました。

4

1 に答える 1