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

如何在Python中将TXT文件内容导入数组?

解决TXT转数组及Numpy导入错误的方案

一、先搞定Numpy导入错误

出现Import "numpy" could not be resolved的原因很简单:你的Python环境里没装Numpy库,或者编辑器没关联到正确的环境。解决步骤:

  • 打开终端/命令提示符,运行安装命令:
    pip install numpy
    
    要是你系统里同时有Python2和Python3,换成pip3 install numpy试试。
  • 如果用了虚拟环境,先激活对应的环境再装。
  • 编辑器(比如VS Code)里,确认选的Python解释器是装了Numpy的那个——一般点左下角的解释器标识就能切换。

二、把TXT转成目标数组的两种方法

方法1:纯Python原生实现(不用装任何库)

这是最省事的方法,完全满足你数千条数据的需求:

快速一次性读取

with open('dane.txt', 'r', encoding='utf-8') as f:
    # splitlines()自动按换行分割,还会去掉每行末尾的换行符
    names = f.read().splitlines()

运行后names就是你要的格式:['Sophia', 'Emily', 'Mary', ...]

逐行读取(适合超大文件)

如果文件特别大,怕占内存,就逐行读:

names = []
with open('dane.txt', 'r', encoding='utf-8') as f:
    for line in f:
        # 清理掉换行和前后空白,跳过空行
        cleaned_name = line.strip()
        if cleaned_name:
            names.append(cleaned_name)

方法2:用Numpy实现

等Numpy装好了,用下面的代码就行:

import numpy as np
# 直接读取成字符串数组
names = np.loadtxt("dane.txt", dtype=str)
# 要是文件里有空行或者异常数据,用genfromtxt兼容性更好
names = np.genfromtxt("dane.txt", dtype=str, skip_header=0, skip_footer=0)

得到的是Numpy数组,要是需要转成普通Python列表,加个.tolist()就行:names.tolist()

三、关于你现有读取代码的说明

你写的这段代码是对的:

with open('dane.txt') as x:
    contents = x.read()

它会把整个文件读成一个带换行的字符串,比如"Sophia\nEmily\nMary\n..."。只要用splitlines()分割一下,就能转成你要的数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 09:05:38