首页 > 解决方案 > 使用 Numpy 保存文件时如何保留哈希标记符号?

问题描述

我正在从不需要的字符串中清除一些文本数据。我的文本数据在第一行包含 # ,当我保存文件时它会消失,因为 Python 无法读取它。

文本示例:

@peak,+ID,#val
1,nopeak
2,nopeak
3,peak
4,nopeak

@category,+ID,#val
1,high
2,low
3,high
4,high

我为删除行中不需要的字符串所做的工作:

data1 = np.genfromtxt('text.b', dtype=str, delimiter="\t")

idxList = [1,2]

for p,q in enumerate(idxList):
    OutArr1 = []
    RemoveStr = str(q)
    for i,j in enumerate(data1):
        if j[:4] != RemoveStr: OutArr1.append(str(j))   
    OutArr2 = np.asarray(OutArr1, dtype=np.str)
    np.savetxt('sample_' + str(q) + '.txt', OutArr2, fmt='%s')

电流输出:

@peak,+ID,
3,peak
4,nopeak

@category,+ID,
3,high
4,high

我如何设法在每一行中保留井号标记符号 (#val)?

标签: pythonpandasnumpycsvdata-cleaning

解决方案


'#' 用作注释启动器,默认配置为genfromtxt. 只需替换为:

data1 = np.genfromtxt('text.b', dtype=str, delimiter="\t", comments=None)

推荐阅读