CSV文件包含诸如“,”ab,abc“,”abc“等值。注意,我指的是空值,如未知值。这与尚未设置值的“”不同。我对这两种价值观有不同的看法。
我需要一种读取“”和空值的方法,并区分这两者。我正在将数据映射到数字,以便将“”映射到0,并将、映射到NaN。
注意,我没有解析问题,像“ab,abc”这样的字段可以用逗号作为分隔符进行解析。问题是python将“”和空值作为空字符串(如“”)读取。这两个值不相同,不应分组为空字符串。在
不仅如此,我还需要写csv文件,使“”写为“”而不是,,NaN应该写为,,(空值)。在
我研究过csv方言,比如doublequote、escapechar、quotechar、quoting。这不是我想要的。这些都是定界符出现在数据中的情况,例如“ab,abc”,正如我所提到的,用特殊字符解析不是问题。在
我不想用熊猫。我唯一能想到的就是正则表达式?但如果我要处理数百万条线,这是一个开销。在
我想要的行为是:a = "\"\"" (or it could be a="" or a="ab,abc")
if (a=="\"\""):
map[0]=0
elif(a==""):
map[0]=np.nan
else:
map[0] = a
我的csv阅读器如下:
^{pr2}$
我想要以上行为时,阅读csv文件虽然。当前只读取两个值:“”(空字符串)或“ab,abc”。在
我要读三个不同的值空字符串,“”“”带双引号的字符串,实际字符串“ab,abc”