使用Numpy转换含'X'的文本为列表列表时遇类型转换错误求助
解决numpy读取含'X'文本的类型转换错误
错误原因
np.loadtxt() 默认会将读取的数据解析为float64类型,但你的文本文件中包含非数值的字符'X',无法完成浮点型转换,因此抛出could not convert string 'X' to float64错误。另外你的代码存在语法错误:input('Enter the file name: '))多了一个闭合括号,需要修正。
解决方案
方法1:使用numpy指定字符串类型读取
通过设置dtype=str,让numpy直接以字符串格式读取所有内容,再转换为列表列表:
import numpy as np file_name = input('Enter the file name: ') # 指定dtype为字符串类型读取文件 data_arr = np.loadtxt(file_name, dtype=str) # 转换为列表列表格式 result = data_arr.tolist() print(result)
方法2:直接用Python内置文件操作(无需numpy)
如果不需要numpy数组,直接用Python原生文件读取更简单直观:
file_name = input('Enter the file name: ') with open(file_name, 'r', encoding='utf-8') as f: # 逐行读取,分割每行内容为列表,过滤空行 result = [line.strip().split() for line in f if line.strip()] print(result)
两种方法都能输出你期望的列表列表格式。
内容的提问来源于stack exchange,提问作者nabprogramz
相关产品推荐
相关产品推荐

