我从数据库中提取了一个数据,数据由“|”分隔,我试图将其加载到numpy数组中以执行一些过滤。例如,仅将第3列中包含注销的行保存到文件中。我从load example.txt文件开始使用:
import numpy as np
data = np.genfromtxt('example.txt',
skip_header=1,
skip_footer=1,
names=True,
dtype=None,
delimiter='|',
encoding='utf-8',
filling_values=None)
但我得到了一个错误:
ValueError: Some errors were detected !
Line #3 (got 14 columns instead of 13)
Line #4 (got 14 columns instead of 13)
Line #5 (got 14 columns instead of 13)
txt文件中的数据为:
|ID|TIMESTAMP|EVENT_DATE|GROUP|EVENT|CHANNEL|WERT|WERTY|WERTY|SESSION_ID|IP|WERT|DATA|
|5818221|2021-03-15T18:18:20+01:00|2021-03-15|LOGIN|SESSION-EXPIRE||qweqwewqewqewqe|qweqewqewqwqeqw|STANDARD|lAkpligg11Ds9nJGFRPdeD|qwewqeq||weqeqewqewe
|5818222|2021-03-15T18:18:20+01:00|2021-03-15|LOGOUT|SESSION-EXPIRE||qweqwewqewqewqe|qweqewqewqwqeqw|STANDARD|lAkpligg11Ds9nJGFRPdeD||qweqe|weqeqewqewe
|5818222|2021-03-15T18:18:20+01:00|2021-03-15|LOGOUT|SESSION||qweqwewqewqewqe|qweqewqewqwqeqw|STANDARD|lAkpligg11Ds9nJGFRPdeD|qweqe||weqeqewqewe
|5818221|2021-03-15T18:18:20+01:00|2021-03-15|LOGOUT|SESSION-EXPIRE||qweqwewqewqewqe|qweqewqewqwqeqw|STANDARD|lAkpligg11Ds9nJGFRPdeD|||weqeqewqewe
|5818221|2021-03-15T18:18:20+01:00|2021-03-15|LOGIN|SESSION-EXPIRE||qweqwewqewqewqe|qweqewqewqwqeqw|STANDARD|lAkpligg11Ds9nJGFRPdeD|||weqeqewqewe
|5818221|2021-03-15T18:18:20+01:00|2021-03-15|LOGIN|SESSION-EXPIRE||qweqwewqewqewqe|qweqewqewqwqeqw|STANDARD|lAkpligg11Ds9nJGFRPdeD|qweqwe|wqewqe|weqeqewqewe
每行包含的元素不超过13个。。我做错了什么
如果您的数据在
example.txt
中,您可以执行以下操作:其中索引用于丢弃标题和空列。您将得到一个二维数组,其中包含文件中的数据。如果需要它作为Numpy数组,请执行
np.array(data)
首先,问题只显示在第3,4,5行的原因是
skip_header
,skip_footer
在没有
skip_footer
的情况下:错误:
因此,首先,
skip_header
值应该是0。 结果:结果:
第一列值
False
和dtype
错误的原因是txt文件的第一行包含的分隔符比其他行多解决方案: 对于1个分隔符,我们有2个信息,这里有13个信息,所以我们只需要12个分隔符,最后: txt文件:
代码:
结果:
相关问题 更多 >
编程相关推荐