从python3中的csv文件行中删除单词

时间:2018-11-04 18:20:01

标签: string python-3.x csv line

您如何读取一个csv文件并删除其中的一部分,而其余部分保持不变?

如果我有这样一行:

Chicago,0.6,5.5,1.3,11.1,NewYork,0.0

我的目标是最终做到这一点:

0.6,5.5,1.3,11.1,0.0

我应该怎么做?是否可以这样做,以便仅考虑数字?

1 个答案:

答案 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将删除所有非数字列。