您如何读取一个csv文件并删除其中的一部分,而其余部分保持不变?
如果我有这样一行:
Chicago,0.6,5.5,1.3,11.1,NewYork,0.0
我的目标是最终做到这一点:
0.6,5.5,1.3,11.1,0.0
我应该怎么做?是否可以这样做,以便仅考虑数字?
答案 0 :(得分:1)
可能不是很好的解决方案,但是您可以尝试以下方法:
import pandas as pd
def isnumber(s):
"""Return True if it is a number, otherwise return False."""
try:
float(s)
return True
except ValueError:
return False
df = pd.read_csv('/PATH/TO/FILE.csv', sep=',', header=None)
df = df[df.applymap(isnumber)].dropna(axis='columns')
df.to_csv('PATH/TO/OUTPUTFILE.csv', sep=',', header=None)
重要说明:如果文件中有更多行,dropna
将删除所有非数字列。