2015-07-20 27 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

相关问题