我是Python编程语言的新手。 我的目标是在excel文件表(.xlsx格式)中保存(或写入)我的输出变量,即a,b和c(如下面的代码所示) 我已经尝试了以下python代码,用于编写输出变量。 我想要一个输出excel文件(.xlsx),如下所示:See the image of the excel file 。代码与.csv文件一起工作正常,但它不适用于.xlsx文件
以下我想要实现:
有人可以帮我吗? 对此有任何建议或帮助吗?
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()
答案 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")