如何将文本文件作为字符数组导入

时间:2013-11-11 15:22:01

标签: python file-io text-files

我有一个由一些文字组成的文本文件。

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

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

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

4 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

如果您想使用loadtxt加载字符串:

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

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

答案 2 :(得分:0)

也许你可以使用list comprehension循环遍历文件:

[i for i in file.read()]

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

char_list = list(file.read())

请注意,这将包含特殊字符,例如标签和换行符。

答案 3 :(得分:0)

如果NigntCell.txt是您的数据文件,并且您希望将该文本文件添加到您所要求的列表中,那么您可以简单地使用列表(内容)作为rninty建议。否则,如果要从文件中删除空格,则可以使用以下代码:

  

file = open('NigntCell.txt','r')

     

char_list = list(file.read())

     

space = 0

     

char_list_len = len(char_list)

     

for i in range(char_list_len):

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

表示范围(空格)中的i:

    char_list.remove(' ')

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