我有一些非常大的 txt 文件(> 2 gb),其中的数据质量不好。在某些列(应该是整数)中,对于低于 1000.00 的值,'.' 用作小数点(例如 473.71886),但对于高于 1000.00 的值,则格式类似于 7.541,72419。所以','用作小数点,'.' 为千位分隔符。
我已经通过以下命令使用 pd.read_csv 读取了文本文件
df = pd.read_csv('mseg.txt',delimiter=("#|#"),nrows=(1000),engine = 'python')
我试图构建要使用的正则表达式,但它不起作用
pattern = "[0-9]+[\.][0-9]+[,][0-9]+"
我正在考虑使用下面的代码来纠正上述问题,但它不起作用。(在下面的代码中我用来pattern2 = ","
测试代码)
for i in df.iloc[:,-5]:
df3 = []
if re.search(pattern2,i):
k= i.replace(".","")
print(k)
df3.append(k)
else:
df3.append(k)
return dfe3
print(k)
in 循环似乎工作正常,但是当我运行 df3 时,我得到以下输出
['\x00\x003\x004\x00\x006\x006\x005\x00,\x002\x001\x007\x006\x000\x00']
有人可以帮忙吗?
先感谢您!