【问题标题】:Write a numpy.ndarray to an xlsx spreadsheet将 numpy.ndarray 写入 xlsx 电子表格
【发布时间】:2019-01-25 00:17:30
【问题描述】:

我正在尝试使用 xlsxwriter 将 numpy.ndarray 写入 excel 电子表格。

我的数组的“类型”是 numpy.ndarray。打印时数组本身采用以下形式:

exampleArray = array([[[0.    ,  1], [0.    , 1], [0.    ,1]]])

我使用的代码如下:

workbook = xlsxwriter.Workbook('WorkBookName.xlsx')
worksheet = workbook.add_worksheet('workSheetName')

row = 0
col = 0

for data in exampleArray[0]:
    worksheet.write_colum(row, col data)
    col += 1

workbook.close()

我得到错误:

AttributeError: 'list' 对象没有属性 'tell'

提前致谢!

【问题讨论】:

  • 你愿意使用 Pandas 吗?
  • write_colum 期望什么参数?循环中的data(对于二维数组)将是一维数组。
  • @jpp 是的。我愿意做任何我想做的事!
  • @hpaulj,它希望将行、列和实际数据写入该行。如果我要打印数据,即 exampleArray[0]: print(data) 中的数据,我会得到 [0. 1] 在连续的行上

标签: python arrays python-2.7 numpy xlsxwriter


【解决方案1】:

使用 Pandas,这很简单。您只需要确保数组是二维的。

import pandas as pd

A = np.array([[[0.    ,  1], [0.    , 1], [0.    ,1]]])

# construct dataframe, index [0] to make 2d
df = pd.DataFrame(A[0])

# save to Excel, exclude index and headers
df.to_excel('file.xlsx', index=False, header=False)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-18
    • 2017-05-28
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    相关资源
    最近更新 更多