Python读取excel,csv数据到数组

本文介绍了如何使用Python中的Numpy库读取CSV文件,并利用OpenPyXL库读取Excel文件的具体步骤。对于Numpy读取CSV文件,可以通过设置skiprows参数跳过不需要的行。而读取Excel文件则需先加载工作簿,再选择指定的工作表进行数据读取。

numpy中的普通读取:

1 import numpy as np
2 #skiprows可以跳过前几行数据,np.loadtxt方法直接将数据读取到data数组中
3 data = np.loadtxt(open("路径.csv","rb"),delimiter=",",skiprows=0)

 

读取Excel:

 1 from openpyxl import load_workbook
 2 #读取路径
 3 book = load_workbook(filename=r"路径.xlsx")
 4 #读取名字为Sheet1的表
 5 sheet = book.get_sheet_by_name("Sheet1")
 6 #用于存储数据的数组
 7 data= []
 8 row_num = 1
 9 while row_num <= 100 :
10     #将表中第一列的1-100行数据写入data数组中
11     data.append(sheet.cell(row=row_num, column=1).value)
12     row_num = row_num + 1

 

转载于:https://www.cnblogs.com/wq14061023/p/8028140.html

### 使用Python数据读取数组 为了实现这一目标,可以采用多种方法来处理不同类型的文件并将其转换成适合操作的数据结构。以下是几种常见的方式: #### 方法一:使用Pandas库读取CSV文件 对于像CSV这样的表格型文件,`pandas`是一个非常强大的工具。通过它可以直接创建DataFrame对象,而这个对象本质上就是一个二维标签化的数组。 ```python import pandas as pd # 加载训练集和测试集,并合并它们形成完整的Titanic乘客列表 mytrain0 = pd.read_csv("https://mathstat.dal.ca/~fullsack/DATA/titanictrain.csv") mytest0 = pd.read_csv("https://mathstat.dal.ca/~fullsack/DATA/titanictest.csv") # 合并两个数据框 mytitanic = pd.concat([mytest0, mytrain0], ignore_index=True) # 获取记录总数 nrec = len(mytitanic) print(f'Total number of records: {nrec}') ``` 这段代码展示了如何加载外部CSV资源并将这些资源整合在一起[^4]。 #### 方法二:利用NumPy直接构建多维数组 如果源数据已经是纯数值形式,则可以选择更底层但也更加高效的`numpy`来进行快速初始化。 ```python import numpy as np # 创建一个简单的三维随机数矩阵作为例子 data_matrix = np.random.rand(100, 5, 3) # (样本数量, 特征维度, 时间步长或其他第三轴含义) # 查看形状以确认大小 shape_info = data_matrix.shape print(shape_info) ``` 这里说明了怎样定义一个多维数组以及查询其尺寸信息[^3]。 #### 方法三:从Excel文档导入数据至内存中的列表或字典 当面对较大的Excel工作簿时,可能需要考虑分块读入策略来优化性能表现;同时也可以根据实际需求调整参数设置以便更好地适应特定应用场景下的要求。 ```python import pandas as pd chunk_size = 10 ** 6 # 定义每次读取的最大行数 chunks = [] for chunk in pd.read_excel('large_file.xlsx', sheet_name='Sheet1', chunksize=chunk_size): chunks.append(chunk) df_from_chunks = pd.concat(chunks, axis=0) array_data = df_from_chunks.values.tolist() ``` 上述片段解释了一种有效应对大规模电子表格的技术方案[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值