Python numpy loadtxt如何设置换行符为分隔符?列数不一致该处理?
问题解答
1. 让numpy loadtxt以换行符为分隔符读取数据
直接给loadtxt指定delimiter='\n',同时设置dtype=str,就能把每行完整内容作为一个元素读取,不会拆分空格分隔的姓名:
import numpy as np data = np.loadtxt('你的数据文件.txt', delimiter='\n', dtype=str)
2. 处理行内容长度不一致的问题
numpy的loadtxt要求每行的元素数量严格一致,遇到部分行只有单个名字、部分行是全名的情况,确实容易报错,更适合用numpy之外的工具:
- Python内置文件读取:简单高效,直接逐行读取并整理成列表:
with open('你的数据文件.txt', 'r', encoding='utf-8') as f: name_list = [line.strip() for line in f if line.strip()]
这样得到的列表每个元素都是去掉换行符的完整姓名,还能自动过滤空行。
- pandas读取:如果后续需要做数据分析,用pandas的
read_csv更灵活,能直接生成结构化的DataFrame:
import pandas as pd df = pd.read_csv('你的数据文件.txt', sep='\n', header=None, names=['全名'])
内容的提问来源于stack exchange,提问作者Basic Donut
相关产品推荐
相关产品推荐

