在python中的空格后过滤掉CSV值

时间:2017-09-14 12:16:25

标签: python pandas csv

所以我的目标是读取由Geocoder创建的CSV文件,该文件烦人地将字符串值放入空格和纬度或经度值......我可以通过所有这些excel单元格并手动拆分它们,但我真的很想改为读取CSV并仅使用空格作为分隔符并过滤掉所有字符串值。我知道如何导入CSV,甚至如何指定空格作为分隔符我认为我...但我不明白如何过滤掉所有字符串值并仅保存全新Excel中的数值片。有谁知道怎么做?

以下是我到目前为止划分空白区域的代码: pd.read_csv(' FILE.CSV',delim_whitespace =真)

2 个答案:

答案 0 :(得分:4)

使用pd.read_csv来阅读您的CSV,select_dtypes仅选择数字列,并使用to_csv仅将数字列保存到CSV。

df = pd.read_csv('file.csv', delim_whitespace=True)
df.select_dtypes(['float']).to_csv('file.csv')

如果您的文件没有标题,则在阅读CSV时需要添加header=None

df

     a  b    c
0  1.0  0  foo
1  2.0  0  NaN
2  1.0  1  bar
3  1.0  1  foo
4  NaN  1  baz
5  3.0  1  foo
6  3.0  1  bar

df.select_dtypes(['float'])

     a
0  1.0
1  2.0
2  1.0
3  1.0
4  NaN
5  3.0
6  3.0

如果出于某种原因,您想要保存整数列,请将float更改为number

df.select_dtypes(['number'])

     a  b
0  1.0  0
1  2.0  0
2  1.0  1
3  1.0  1
4  NaN  1
5  3.0  1
6  3.0  1

只需链接一个.to_csv来电。

答案 1 :(得分:0)

如果你将数据分开,你可以使用它:

df.convert_objects(convert_numeric=True).dropna(axis=1)

您可以在最后添加.to_csv('your_file_name.csv')