想从电子表格导入数据,目前使用pyxl。什么是读取Excel数据并将其插入2D数组的最佳方法。是Numpy吗?熊猫?名单?我是新手,我正在努力如何插入变量,如下所示:
MaterialData [y,x] =电子表格中的数据,其中y是行,x是列。我正在使用for循环来遍历单元格,但我无法找到将数据放入数组的方法。
for i in range(1, rows+1):
for j in range(1, 6):
col = sh.cell(i, j)
col1 = col.value
materialsList[i,j] = col1
最后一行显然是错误的,但这就是我想要做的,如果它有意义的话! excel文件是一个材料列表,其中每列具有不同的价格,并且根据用户在程序中选择的内容,显示该价格。 (这是我想要实现的非常简化的版本)。此数组中的部分数据将使用tkinter显示在列表框中,具体取决于用户设置的标志。
欢迎任何建议!!
要使用电子表格,使用pandas是比使用numpy数组更好的选择。 Pandas DataFrame是引擎盖下的2D numpy阵列。但是最好有列标题,索引等,以便我们可以随时更改这些内容Pandas非常好地处理异构数据,内置函数的数量将使工作变得容易。
将pandas数据帧转换为Numpy数组表示的方法。
spreadsheet_np_array = df.as_matrix(columns=None)
OR
spreadsheet_np_array = df.values
OR
spreadsheet_np_array=np.asarray(your_data_frame_here).
pandas是一个非常好的库,允许开发人员使用excel文件。使用excel文件在相同位置尝试以下代码。
import pandas as pd
file_x = 'Scores.xlsx'
scores = pd.read_excel(file_x)
scores_dict = scores.to_dict()
rows = []
for row in scores_dict.values():
cols = []
for col in row.values():
cols.append(col)
rows.append(cols)
print(rows)
那应该解决问题