2016-12-02 51 views
0

我使用LabVIEW創建並從實驗數據保存.xls擴展名。 Labview自己創建一個文本文件,但是會自動保存爲一個.xls擴展名(單詞1997-2003--這是一個從未更改過的舊設置,因爲它從未打破過)。每當我打開其中一個數據文件,excel吐出這個:錯誤打開文本文件保存在python

「您嘗試打開的文件name.ext的格式與文件擴展名指定的格式不同,請確認文件在打開文件之前沒有損壞並且來自可信來源,您想立即打開文件嗎?「

我產生了大量的數據,所以我想用Python來梳理出來,並做了一些文件快速分析目錄中。

的問題是,蟒蛇不喜歡它的保存爲.xls擴展名的文本文件。它可以在目錄中循環以獲取文件名,但是當我實際嘗試打開文件或對其執行任何操作時,我會在附加的圖像中看到錯誤。如果我將擴展名更改爲.xls,.xlsx,或者根本不做任何事情,並讓它嘗試打開原始文件名,則會發生這種情況。

error message

我從字面上有數百個這樣的.xls文件中。我知道我可以通過,在excel中打開每個文件並手動保存爲一個真正的excel文件,但這需要幾個小時。有人可以幫助我想辦法解決這個錯誤在python?

Dropbox Data File set

*更新。 Matlab在使用xlsread讀取其中一個文件時說:

使用xlsread時出錯(第251行) 文件C:\ Users \ zane \ Documents \ Research Projects \ PneuFish Project \ Data \ 2016年11月28日ATI Data \ ATI_Data_2016Y_11M_28D_16h_36m_01s.xls未使用Microsoft Excel格式。

謝謝!

回答

0

您可以使用該模塊xlrd

import xlrd 
import csv 

def csv_from_excel(): 

    wb = xlrd.open_workbook('your_workbook.xls') 
    sh = wb.sheet_by_name('Sheet1') 
    your_csv_file = open('your_csv_file.csv', 'wb') 
    wr = csv.writer(your_csv_file, quoting=csv.QUOTE_ALL) 

    for rownum in xrange(sh.nrows): 
     wr.writerow(sh.row_values(rownum)) 

    your_csv_file.close() 

This Post

這兩者將轉換從.xls.csv,這是很容易與Python操縱。

+0

不起作用。在[2]中:import convert 'In [3]:convert.csv_from_excel() ----------------------------- ---------------------------------------------- FileNotFoundError - ---> 1個convert.csv_from_excel() C:\路徑\ convert.py在csv_from_excel() 17 DEF csv_from_excel(): ---> 19 WB = xlrd.open_workbook( 'ATI_Data_2016Y_11M_28D_16h_36m_01s.xls') 20 SH = wb.sheet_by_name( '工作表Sheet') 21 your_csv_file =開放( 'your_csv_file.csv', 'WB') FileNotFoundError:[錯誤2]沒有這樣的文件或目錄:「ATI_Data_2016Y_11M_28D_16h_36m_01s.xls'' –

0

你說,文件是一個文本文件,所以不告訴Python的,它是一個Excel文件。只需使用Python的open並將其作爲文本讀取,然後根據需要進行任何操作。 open不關心文件的擴展名。

我要去猜測,格式實際上是製表符分隔。從內存中,早期版本的Excel會讀入帶有.xls擴展名的製表符分隔文本文件,而不會抱怨,而csv文件始終會顯示文本導入嚮導,因此,如果從程序中保存用於Excel的數據,這是常見的閃避不支持寫真正的Excel文件。

如果您希望將來的LabVIEW代碼能夠編寫真正的Excel文件,則表示VI可以選擇以xlsx格式編寫。我不確定哪個版本的LabVIEW首次推出這個版本,但它已經存在了幾年。

+0

相同的錯誤。 [Errno 2]沒有這樣的文件或目錄。 –

+0

究竟是什麼確切的Python命令給出了這個錯誤,並且您是否證實文件/目錄實際上存在,並且在您嘗試寫入文件時是可寫的? – nekomatic