当我提供了一个正则表达式的sep
参数read_csv
,例如[,\t]
在下面的例子中,我得到NaN值的读取""
。我怀疑这可能是一个错误,但我正在寻找有关解决方法的建议或有人解释为什么它不是错误。似乎只有在 DataFrame 只有一列时才会发生
import numpy as np
import pandas as pd
file_path = "temp.csv"
df = pd.DataFrame({"x": [np.nan, 1]})
df.to_csv(file_path, index=False)
df1 = pd.read_csv(file_path, sep=',')
df2 = pd.read_csv(file_path, sep='[,\t]')
print(f"-----------\ndf1\n{df1}")
print(f"-----------\ndf2\n{df2}")
输出
-----------
df1
x
0 NaN
1 1.0
-----------
df2
x
0 ""
1 1.0
要解决这个问题:
>>> pd.read_csv(file_path, sep='[,\t]', na_values='""', engine="python")
x
0 NaN
1 1.0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句