2015-07-20 24 views
1

我用file.write命令編寫了一個Python代碼,所以我的計算值全部寫入文件。當提示打開文件時,我選擇Microsoft Excel作爲打開它的應用程序。Python文件在Excel中未正確打開(值不在單元格中)

下面是代碼:

for i in range (0,len(result)-1): 
... file.write("%s " % result[i][0][0])  
... file.write("%s \n" % result[i][0][1]) 
... branch = result[i] 
... NumPoints = len(branch) 
... for j in range (biggestHWS, NumPoints - biggestHWS): 
...  HWS = biggestHWS # reset HWS 
...  file.write("%s " % result[i][0][0]) 
...  file.write("%s " % result[i][0][1]) 
...  file.write("%s \n" % j) 
...  while HWS > 0: 
...    length = HWS * 2 * 10 
...    d = math.sqrt((branch[j-HWS][3] - branch[j+HWS][3]) ** 2 + (branch[j-HWS][4] - branch[j+HWS][4]) ** 2) 
...    s = length/d 
...    file.write("%s " % s) 
...    HWS = HWS - 1 
...  file.write(" \n") 
file.close()  

值顯示在Excel電子表格中,但不是在細胞 - 它看起來像他們只是印在電池的頂部,但不是在細胞內。我是一名初學Python程序員,所以我不確定發生了什麼。

有沒有辦法正確打開文件,以便這些值在Excel單元格中,還是必須將數據寫入我的代碼中的Excel電子表格中?

+1

請出示你的Python代碼,以及作爲輸出的一個樣本(說,如果你在記事本中,而不是Excel中打開它)。你還有什麼命名文件?您可能需要一個與您使用的格式相關的文件擴展名。你可能看到的是第一列中的所有數據都被卡住了,這讓我認爲你沒有打印到.csv。 – sunny

+0

我將代碼添加到我的問題。我無法在記事本中上傳文件的圖像(沒有足夠的聲望)。 – whent1991

+0

我在代碼中看不到任何格式。這是否意味着csv(逗號分隔值),或製表符分隔值或別的東西?如果這是一個numpy的數組,你可以使用類似這樣的問題:http://stackoverflow.com/questions/6081008/dump-a-numpy-array-into-a-csv-file或者如果你有一個熊貓數據幀你可以使用dataframe.tocsv(「filename.csv」)。 Excel不能奇蹟般地知道你想要什麼文件格式。 – sunny

回答

2

如果要從Python腳本輸出Excel文件,則應該使用模塊,如Xlsxwriterxlwt。否則,您需要將數據作爲csv文件或其他東西寫入並導入到Excel中。

+0

是否可以將完成的文件寫入csv文件?或者我是否需要直接將我的計算值寫入csv文件? – whent1991

+0

CSV文件只是一個文本文件,其中的字段之間用逗號(CSV =逗號分隔變量)分開的,所以它看起來像您正在寫一個空格分隔變量文件,如果你只需要改變你的空間,以逗號,然後你將有一個逗號分隔的變量文件,我認爲,如果你做的文件擴展名「.csv格式Excel稍後將嘗試由逗號打開它,不同的領域。否則,你就必須使用數據 - 在Excel>導入功能和手動告訴Excel中的字段的分隔方式。 – jwinterm

相關問題