在Python中,将表格(如Excel文件)转成数组可以通过多种方式实现,以下是几种常见的方法:
方法一:使用`xlrd`库
`xlrd`是一个用于读取Excel文件的Python库。以下是一个使用`xlrd`将Excel文件转成数组的示例代码:
import xlrdimport numpy as npdef extract1(file, index=0):workbook = xlrd.open_workbook(file)worksheet = workbook.sheet_by_index(index)rows = worksheet.nrowsall = []for i in range(rows):a = worksheet.row_values(i)[:]all.append(a)cc = np.array(all)return cc使用示例file_path = 'path_to_your_excel_file.xlsx'sheet_index = 0 指定工作表索引,默认为第一个工作表array = extract1(file_path, sheet_index)print(array)
方法二:使用`pandas`库
`pandas`是一个强大的数据处理库,可以方便地读取和处理Excel文件。以下是一个使用`pandas`将Excel文件转成数组的示例代码:
import pandas as pddef excel_to_array(file_path, sheet_name=0):df = pd.read_excel(file_path, sheet_name=sheet_name)array = df.valuesreturn array使用示例file_path = 'path_to_your_excel_file.xlsx'sheet_name = 0 指定工作表名称,默认为第一个工作表array = excel_to_array(file_path, sheet_name)print(array)
方法三:使用`openpyxl`库
`openpyxl`是另一个用于处理Excel文件的Python库,支持.xlsx文件。以下是一个使用`openpyxl`将Excel文件转成数组的示例代码:
from openpyxl import load_workbookimport numpy as npdef extract2(file, index=0):workbook = load_workbook(filename=file)worksheet = workbook[workbook.sheetnames[index]]rows = list(worksheet.rows)all = []for row in rows:values = [cell.value for cell in row]all.append(values)cc = np.array(all)return cc使用示例file_path = 'path_to_your_excel_file.xlsx'sheet_index = 0 指定工作表索引,默认为第一个工作表array = extract2(file_path, sheet_index)print(array)
以上方法都可以将Excel文件中的数据转换成NumPy数组,你可以根据自己的需要选择合适的库和方法。需要注意的是,转换时可能需要指定数据类型,例如将列表中的数据类型转换为32位浮点型或整型数据。

