教你将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()

结果

在这里插入图片描述

发布了117 篇原创文章 · 获赞 116 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/Davidietop/article/details/105617324