python - 如何将excel文件数据的元素分配给Python中的二维矩阵?
问题描述
我想将 excel 工作表中的数据用作 2D 矩阵,但尽管迭代提取的数据我遇到了一些错误。
我想将数据集从 excel 加载到 python 代码。我使用了 xlrd 库,在遍历元素后认为它会产生一个数组。虽然我希望有一个二维矩阵。
import xlrd
workbook = xlrd.open_workbook('test1.xlsx')
sheet = workbook.sheet_by_index(0)
N =sheet.nrows
M =sheet.ncols
mat_d = [ [0] * N for _ in range(M)]
mat=[]
for i in range(N):
for j in range(M):
mat.append(sheet.cell(i, j).value)
k = 0
for i in range(N):
for j in range(M):
mat_d[i][j]= mat[k]
k += 1
该代码在这里给了我正确的答案,mat_d[1][1] = mat[79],但是当我想在 for 循环中对其进行迭代时,它最终会出现错误:IndexError: list index out of range
解决方案
import os
import csv
data = []
with open(os.path.join(sys.path[0], file), newline='') as dataset:
reader = csv.reader(dataset)
for row in reader:
rowlist = []
for numeric_string in row:
value = int(numeric_string)
rowlist.append(value)
data.append(rowlist)
推荐阅读
- proguard - 如何禁用 proguard 中的方法内联?
- android - Unity 加密 BIS 兼容?
- javascript - 如何检查类中的构造函数是否正确设置了新对象中的属性
- amazon-web-services - 如何查看 AWS 数据传输内部区域使用情况
- python - 从另一个日期中减去 Pandas 日期会产生很多错误
- codenameone - 元素的边界到底在哪里绘制到边距和填充?
- firebase - 使用 Firebase 身份验证时如何反映用户属性更改?
- python - 如何在python中打印用Xs填充的字母P?(描述中的输出)
- google-chrome - 在 chrome 扩展和回调 API 中捕获特定的最终 URL
- xml - XSLT 3.0 - 用数字字符串表示替换数字字符