教你将python运行的数据保存到xlsx表格中
介绍
比较常用xlsxwriter来将数据保存到xlsx里面。
官网可直接运行例子
你只需要将下面代码的文件名称、输入量以及每行名字(也可以不需要名字)改一下就可以了。
导入:
import xlsxwriter
编辑表格内容:
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()
# Some data we want to write to the worksheet.
expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)
# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0
# Iterate over the data and write it out row by row.
for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost)
row += 1
# Write a total using a formula.
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')
workbook.close()
参考资料Tutorial 1: Create a simple XLSX file
实战例子
这里的hxTrue和hxEst只是两个4x501的矩阵。我想将前面两行写入表格。这里只附了存表格部分的代码。
代码分析
导入:
import xlsxwriter
编辑表格内容:
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('sheet_ekf.xlsx')
worksheet = workbook.add_worksheet()
# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0
# ekf
worksheet.write(row, col, 'ekf_point')
worksheet.write(row, col + 1, 'x')
worksheet.write(row, col + 2, 'y')
worksheet.write(row, col + 3, 'v')
# true
worksheet.write(row, col + 4, 'true_point')
worksheet.write(row, col + 5, 'x')
worksheet.write(row, col + 6, 'y')
worksheet.write(row, col + 7, 'v')
# distance
worksheet.write(row, col + 9, 'distance')
row += 1
# Some data we want to write to the worksheet.
dist = np.sqrt((hxTrue[0, :]-hxEst[0, :])**2+(hxTrue[1, :]-hxEst[1, :])**2)
# Iterate over the data and write it out row by row.
length = len(hxEst[0, :])
buffer = 0
while buffer < length:
worksheet.write(row, col, row)
worksheet.write(row, col + 1, hxEst[0, buffer])
worksheet.write(row, col + 2, hxEst[1, buffer])
worksheet.write(row, col + 3, hxEst[3, buffer])
worksheet.write(row, col + 4, row)
worksheet.write(row, col + 5, hxTrue[0, buffer])
worksheet.write(row, col + 6, hxTrue[1, buffer])
worksheet.write(row, col + 7, hxTrue[3, buffer])
worksheet.write(row, col + 9, dist[buffer])
row += 1
buffer += 1
workbook.close()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)