需要Python帮助。什么是将电子表格中的数据收集到可以保存字符串和数字的数组中的最佳方法

问题描述 投票:0回答:2

想从电子表格导入数据,目前使用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显示在列表框中,具体取决于用户设置的标志。

欢迎任何建议!!

python arrays excel string pandas
2个回答
0
投票

要使用电子表格,使用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 reference


0
投票

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)

那应该解决问题

© www.soinside.com 2019 - 2024. All rights reserved.