python - 将带有空格的字符串加载为 numpy 数组

标签 python csv numpy

我想将 csv 文件作为 numpy 数组加载。每行包含带空格的字符串字段。 我尝试使用 numpy 中可用的 loadtxt() 和 genfromtxt() 方法。默认情况下,两种方法都将空格视为分隔符,并将字符串中的每个单词分隔为单独的列。无论如何,是否可以使用 loadtxt() 或 genfromtxt() 加载此类数据,还是我必须为其编写自己的代码?

我的文件中的示例行:

826##25733##Emanuele Buratti## ##哺乳动物细胞表达

这里##是分隔符,空格表示缺失值。

最佳答案

我认为您的问题是默认注释字符 # 与您的分隔符冲突。我能够像这样加载您的数据:

>>> import numpy as np
>>> np.loadtxt('/tmp/sample.txt', dtype=str, delimiter='##', comments=None)
array(['826', '25733', 'Emanuele Buratti', ' ', 'Mammalian cell expression'], 
      dtype='|S25')

您可以看到数据类型已自动设置为最大长度字符串。如果麻烦的话可以使用dtype=object。顺便说一句,由于您的数据不是数字,我可能会建议使用 csv 模块而不是 numpy 来完成这项工作。

关于python - 将带有空格的字符串加载为 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16661880/

相关文章:

python-3.x - 如何在没有分隔符的情况下从 CSV 创建 Pandas 数据框(在 python 中)

python - ### 在使用 Python 创建的 Excel 中打开 CSV 文件时的字符

c# - 读取 CSV 文件

python - 在将列表分配给 numpy 数组之前使用列表进行数据读取是否有效?

python - Swig:如何将 c++ 字符串 const & 映射到 python 字符串?

python - FreqDist Python ... 最后一期

python - 对于重复的行,创建小数值以填充另一列

python - 减少 ndarray 中的一维

python - 创建随机数据库并将其从 numpy 转换为 pandas

python - 获取错误类型错误 : create_task() takes from 1 to 2 positional arguments but 3 were given while creating google cloud tasks