我有一个csv文件,我正在尝试删除列中只留下数字ex 1004.242
的所有字符串。这是我的代码:
def grabkey_env():
df = pandas.read_csv('/Users/eeamesX/PycharmProjects/CsvTask/FIT_TC_Resolved_JIRA2.csv', usecols=(1,10),skiprows=(0,1,2,3))
df.columns = ['keys', 'env']
df['env'].replace(to_replace='[^0-9]+', value=' ',regex=True)
print df
df.to_csv('newcsv3.csv')
我没有收到任何错误,但正则表达式也无效。它的这条线我一直想弄明白。
df['env'].replace(to_replace='[^0-9]+', value=' ',regex=True)
答案 0 :(得分:2)
也许您可以使用str.replace
r'[^0-9.]+'
作为EdChum
建议 - 只需尝试添加fullstop .
并可能帮助r
并输出到原始{{1} (也许你忘记了):
df['env']
或许你可以使用:
print df['env']
0 ex 1004.242
1 ex erewrwn 1004.242
2 wqwe 1004.242
Name: env, dtype: object
df['env'] = df['env'].str.replace(r'[^0-9.]+', '')
print df['env']
0 1004.242
1 1004.242
2 1004.242
Name: env, dtype: object