如何使用Python将CSV文件中的列导出为数组?
用Python将CSV两列转为两个数值数组
下面提供两种常用的实现方式,按需选择:
方法一:使用Python标准库csv(无需第三方依赖)
如果不想安装额外库,用标准库csv就能完成需求,步骤如下:
import csv # 初始化两个空数组(用Python列表存储,后续可按需转成numpy数组) col1 = [] col2 = [] # 打开CSV文件(替换为你的实际文件路径) with open('your_file.csv', 'r', newline='') as csvfile: reader = csv.reader(csvfile) # 跳过表头(CSV无表头则注释此行) next(reader) # 逐行读取并转换数值 for row in reader: # 根据数据类型选择int或float转换 val1 = float(row[0]) val2 = float(row[1]) col1.append(val1) col2.append(val2) # 验证结果(打印前5个元素) print("第一列数组:", col1[:5]) print("第二列数组:", col2[:5])
说明:
- 若CSV无表头,删除
next(reader)即可。 - 若需要numpy数组,导入
numpy后执行col1 = np.array(col1)即可转换。
方法二:使用pandas(简洁高效,适合大数据场景)
如果频繁处理数据,pandas能让代码更简洁,处理1000行数据毫无压力:
import pandas as pd # 读取CSV文件(skiprows=1用于跳过表头,无表头则去掉该参数) df = pd.read_csv('your_file.csv', skiprows=1, header=None) # 转为numpy数组或Python列表 col1 = df[0].to_numpy() # 得到numpy数组 col2 = df[1].tolist() # 得到Python列表 # 验证结果 print("第一列数组:", col1[:5]) print("第二列数组:", col2[:5])
说明:
- 若CSV有表头,可直接用列名取值,比如
df['你的列名1'].to_numpy()。 pandas会自动识别数值类型,无需手动转换。
内容的提问来源于stack exchange,提问作者mesaoudene kamel
相关产品推荐
相关产品推荐

