我有一个奇怪的场景,其中 非 NaN
值由 #####
表示,但是当我单击 ####< 的单元格时
l 获取值。但是,当我操作我的数据时,出现以下错误:
img_charac=img[int(coords[2]):int(coords[3]),int(coords[0]):int(coords[1])]
ValueError: cannot convert float NaN to integer
因为它将某些单元格读取为 NaN
我怎样才能避免这种情况呢? 这是我的 csv 文件
在下图中,查看 139 cell C
行,当我单击该单元格时,我会在右上角获得实际值
l 增加了列的宽度 l 我的 csv 文件中没有任何 ####
。
然而,当我按如下方式阅读我的 csv 文件时:
npa=np.genfromtxt(path_csv+"char.csv", delimiter=',',skip_header=1,usecols=(2,3,4,5))
npa[:280]
array([[ 38., 104., 2456., 2492.],
[ 40., 102., 2442., 2448.],
[ 40., 100., 2402., 2410.],
...,
[ 1473., 1482., 153., 177.],
[ nan, 1491., 1494., 172.],
[ 1508., 1517., 159., 177.]])
我奇怪地得到一个 NaN
值 (npa[278])
[ nan, 1491., 1494., 172.]
我注意到在这个值中它没有读取正确的列。 整行如下:
',' 1491 1494 172 181
而是写作: [ 1491., 1494., 172., 181.] 它写道:
[ nan, 1491., 1494., 172.]
这意味着它读取第一列,这是一个 char (',')
并离开最后一列。
我注意到每一行都有一个 char ','
其余的没问题
这里是我如何阅读我的 csv 的:
npa=np.genfromtxt(path_csv+"char.csv", delimiter=',',skip_header=1,usecols=(2,3,4,5))
我有 delimiter=','
并且在第一列我有一些字符 ','
问题更新为
http://stackoverflow.com/questions/43093100/considering-comma-in-a-cell-column-as-delimiter-but-its-not-how-to-differentia
谢谢
最佳答案
这是一道Excel题,出现你的问题是因为Excel没有空间显示数值。增加C的列宽就可以了。
关于python - 我的 CSV 文件中的 NaN 不是 NaN,因为列中的逗号被视为分隔符,但不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43088950/