3

我有一个包含一些文本的文本文件。

我想将它导入到一个由字符组成的数组中,例如:包含“Hello”的文件将变为

['h', 'e', 'l', 'l', 'o'].

我尝试使用 loadtxt (我通常用于从文件中读取数据),但我认为它只能处理实际数据(带有数字和东西)。我该怎么做?

4

4 回答 4

3

这是读取整个文件的常用方法:

with open("file") as f:
    content = f.read()

然后,您可以调用list(content)以从字符串中获取列表。

于 2013-11-11T15:24:24.460 回答
2

如果你想使用加载字符串loadtxt

import numpy as np
text = np.loadtxt(filepath, dtype = np.str)

正如其他人所提到的,还有其他方法可以做到这一点。此外,您可以像访问列表一样访问字符串的各个字符。

于 2013-11-11T15:24:59.280 回答
0

如果 NigntCell.txt 是您的数据文件,并且您希望按照您的要求将该文本文件放入列表中,那么您可以按照 rninty 的建议简单地使用 list(content) 。否则,如果要从文件中删除空格,则可以使用以下代码:

文件=打开('NigntCell.txt','r')

char_list = list(file.read())

空间 = 0

char_list_len = len(char_list)

对于我在范围内(char_list_len):

    if char_list[i] == ' ':
        space +=1 
    #for other than space add your respective 'counter' code here

对于我在范围(空间):

    char_list.remove(' ')

您可以删除其他不必要的字符,例如 '\n' 等,类似于上面的空格。

于 2013-11-11T19:03:18.533 回答
0

也许您可以使用列表推导遍历文件:

[i for i in file.read()]

或者只是将字符串转换为列表:

char_list = list(file.read())

请记住,这将包括特殊字符,例如制表符和换行符。

于 2013-11-11T15:23:59.473 回答