You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么使用np.genfromtxt读取多个csv数据文件时仅返回nan?

问题原因

np.genfromtxt 方法的第一个输入参数仅支持单个文件路径、文件类对象或单行文本数据,不支持直接传入文件名列表。你直接传入FILE_NAMES列表时,方法会将列表本身作为待解析的数据源处理,自然无法读取对应文件的内容,最终返回nan值。

解决方法

你需要逐个读取每个文件的内容,再将多个数组合并为一个整体,参考代码如下:

import numpy as np

FILE_NAMES = ['file1.csv', 'file2.csv']
# 逐个读取所有文件,参数保持你原来的配置即可
data_per_file = [np.genfromtxt(file_path, delimiter=',', skip_header=1, dtype=np.float64) for file_path in FILE_NAMES]
# 按行拼接所有文件的数组,得到最终结果
full_data = np.concatenate(data_per_file, axis=0)
print(full_data)

额外排查点

如果修改后仍出现nan值,可以按以下顺序排查:

  • 确认文件的分隔符确实为英文逗号,部分csv文件可能使用分号、制表符作为分隔符
  • 添加skipinitialspace=True参数,忽略分隔符后的多余空格,避免空格导致解析失败
  • 确认所有文件需要跳过的头部行数一致,避免误将数据行当作表头跳过

内容的提问来源于stack exchange,提问作者Jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 15:54:04