2016-04-05 15 views
2

私はxlsxスプレッドシートに書き出し、「日付」の列をフォーマットする必要があるプロジェクトに取り組んでいます。私はプログラムを実行すると、列の形式を除くすべてがまだ '一般'に設定されています。xlsxwriterでDATE形式に列を設定する方法

誰もが日付時刻形式の作業を取得するには:

for row in cur.execute('''SELECT `Mapline`,`Plant`,`Date`,`Action` from AEReport'''): 
    lengthOfHeadings = len(row) 
    output = '%s-%s.xlsx' % ("AEReport",now.strftime("%m%d%Y-%H%M")) 
    workbook = xlsxwriter.Workbook(output, {'strings_to_numbers':True}) 
    worksheet = workbook.add_worksheet() 

    format=workbook.add_format({'font_size':'8','border':True}) 
    format2=workbook.add_format({'font_size':'8','border':True,'num_format':'mm/dd/yy hh:mm'}) 
    count = 0 
    for name in range(0,lengthOfHeadings): 
     if name==row[2]: 
      name=int(name) 
      worksheet.write(counter, count, row[name],format2) 
    else: 
     worksheet.write(counter, count, row[name],format) 
    count += 1 
counter += 1 

Slihthinden

答えて

1

に答えるならば、あなたはに変換された日付の値を取得する必要があります見に異なるコードと異なる方法でこれを試してみてくださいa excel serial date value。ここで

は、それが動作しない方法を示す例です:

import pandas as pd 
data = pd.DataFrame({'test_date':pd.date_range('1/1/2011', periods=12, freq='M') }) 
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter') 

data.test_date = data.test_date - pd.datetime(1899, 12, 31) 

pd.core.format.header_style = None  
data.to_excel(writer, sheet_name='test', index=False) 

workbook = writer.book 
worksheet = writer.sheets['test'] 

formatdict = {'num_format':'mm/dd/yyyy'} 
fmt = workbook.add_format(formatdict) 

worksheet.set_column('A:A', None, fmt) 

writer.save() 

これは、出力は次のようになります方法です。 enter image description here

+0

私はこれを使用したいが、私は気圧パンダを実行しようとするとエラーが出続けます。 ImportError:必須の依存関係がありません['numpy']私はpandasのインストールとnumpyを含む依存関係をすべて行っていますので、何が問題なのかよくわかりません。提案thoをありがとう。 – Slihthinden

+0

どのようなエラーが表示されますか? – Abbas

+0

ImportError:必須の依存関係が見つかりません['numpy']私はpandasとnumpyを含む依存関係をすべてインストールしました。提案thoをありがとう。 – Slihthinden

-1

日= workbook.add_format({ 'num_format':「DD- MM-YYYY '})

worksheet.write(1、1、02-12-199、日付)

関連する問題