2013-08-05 40 views
0

我想一個xls文件轉換爲CSV和使用一個名稱output加上今天的日期和時間保存。轉換工作,但我遇到了文件名稱的問題。 所需輸出中的文件名應爲:output day time.csv,例如output 2013-08-05 10:50:55.csv嘗試的日期和時間添加到輸出文件名(Python)的

這是我的嘗試。 name打印我的東西,因爲我想要的,但是當我把它放在open() funcion不工作。

name = 'output '+str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))+'.csv' 
archivo_csv = open(str(name), 'wb') 

這是整個功能:

import xlrd 
import csv 

def xls_to_csv: 
    print "Saving from xls to csv" 
    wb = xlrd.open_workbook('example.xls') 
    sh = wb.sheet_by_name('Page1') 

    // This two lines are the ones that they are giving me problems 
    name = 'output '+str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))+'.csv' 
    archivo_csv = open(str(name), 'wb') 

    wr = csv.writer(archivo_csv, quoting=csv.QUOTE_ALL) 
    for rownum in xrange(sh.nrows): 
      wr.writerow(sh.row_values(rownum)) 
    archivo_csv.close() 

這是錯誤表示:
IOError: [Errno 22] invalid mode ('wb') or filename: 'output 2013-08-05 10:59:44.csv'

預先感謝。

+0

任何顯示錯誤? – Raptor

+0

是的。 'IOError:[Errno 22] invalid mode('wb')or filename:'output 2013-08-05 10:59:44.csv'' –

+0

而你的操作系統是?也許你對文件名允許的限制。 –

回答

2

,如果你使用的是Windows那麼它的命名規則問題,在windows你不能保持 字符,如在名稱:/\ > * ? " | ..

儘量保持命名約定一樣

name = 'output '+str(datetime.datetime.now().strftime("%Y-%m-%d %H-%M-%S"))+'.csv' 
相關問題