Python 在我的CSV文件中,由于列中的逗号被认为是分隔符,所以NaN不是NaN

Python 在我的CSV文件中,由于列中的逗号被认为是分隔符,所以NaN不是NaN,python,csv,pandas,dataframe,Python,Csv,Pandas,Dataframe,我有一个奇怪的场景,非NaN值由#####表示,但当我单击####的单元格时,我会得到值。但是,当我处理数据时,我得到了以下错误: img_charac=img[int(coords[2]):int(coords[3]),int(coords[0]):int(coords[1])] ValueError: cannot convert float NaN to integer 因为它将某些单元格读取为NaN 我怎么能避免呢? 这是我的csv文件 在下图中,当我单击该单元格时,请查看te

我有一个奇怪的场景,
非NaN
值由
#####
表示,但当我单击
####
的单元格时,我会得到值。但是,当我处理数据时,我得到了以下错误:

  img_charac=img[int(coords[2]):int(coords[3]),int(coords[0]):int(coords[1])]
ValueError: cannot convert float NaN to integer
因为它将某些单元格读取为
NaN

我怎么能避免呢? 这是我的csv文件

在下图中,当我单击该单元格时,请查看te line
139单元格C
,我会在右上角获得实际值

我增加了列宽,我的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
value
(npa[278])

我注意到在这个值中,它没有读取正确的列。 整条线路如下:

',' 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))
我有
分隔符=','
,在第一列我有一些字符,它们是
,'
问题更新为

http://stackoverflow.com/questions/43093100/considering-comma-in-a-cell-column-as-delimiter-but-its-not-how-to-differentia

谢谢

这是一个Excel问题,出现您的问题是因为Excel没有空间显示值。增加C的列宽,你就没事了。

这是Excel的特性,不是python的问题。只要增加
C
列的宽度,您就会看到值。在Excel以外的其他地方打开CSV。你看到的是trickery女士,不是Pandas。请看更新请看更新。你的建议行得通。但是对于一些带有char的行,即使我的csv文件中没有“#######”,它也会被识别为总是“NaN”。你能从.csv中粘贴一段原始文本,一个“正常”行和一个“异常”行吗
http://stackoverflow.com/questions/43093100/considering-comma-in-a-cell-column-as-delimiter-but-its-not-how-to-differentia