如何使用python将浮点变量保存在Excel工作表(.xlsx)的列中

时间:2018-04-20 23:38:33

标签: python excel

我是Python编程语言的新手。 我的目标是在excel文件表(.xlsx格式)中保存(或写入)我的输出变量,即a,b和c(如下面的代码所示) 我已经尝试了以下python代码,用于编写输出变量。 我想要一个输出excel文件(.xlsx),如下所示:See the image of the excel file 。代码与.csv文件一起工作正常,但它不适用于.xlsx文件

以下我想要实现:

  1. 我想将每个变量(a,b,c)保存在Excel工作表的不同列中
  2. 我想为excel表中的每一列命名为(在每列a,b,c中将存储,三列名称应分别为Value,Cross-range和A-value)
  3. 有人可以帮我吗? 对此有任何建议或帮助吗?

    n=10 
    for i in range(n-1):
        a[i+1] = a[i]-2
        b=a/10
        c=b**2
        file = open("sample-test.xlsx","w")
        for i in range(len(y)):
        iter = "%.3f,%.3f,%.5f\n"%(a[i],b[i],c[i])
        print (iter)
        file.write(iter)
        file.close()
    

2 个答案:

答案 0 :(得分:2)

Excel文件是二进制格式(技术上它是.zip文件),而不是像.csv文件这样的简单文本格式。如果要写入.xlsx文件,则有许多具有该功能的软件包。

我的偏好是xlsxwriter。它允许您创建新的Excel工作簿,向其写入数据,以及添加所需的任何格式。我不确定你的for循环是做什么的,所以我修改它以便它适用于这个例子

import xlsxwriter

wb = xlsxwriter.Workbook('sample-test.xlsx')
ws = wb.add_worksheet('my sheet')

# write the header in row 0, which is Excel row 1
ws.write_row(0, 0, ['chickens', 'ducks', 'mice'])

n = 10
a = 98
for i in range(n-1):
    a = a * i - 2
    b=a/10
    c=b**2
    ws.write_row(i+1, 0, [a,b,c])

wb.close()

答案 1 :(得分:0)

from openpyxl import Workbook
wb = Workbook() 
# grab the active worksheet
ws = wb.active 
# Data can be assigned directly to cells         
ws['A1'] = 42.2
# Rows can also be append
ws.append([1, 2, 3])

# Save the file
wb.save("sample.xlsx")