如何在python中验证变量是否为空

时间:2017-04-23 02:10:16

标签: python string

我正在使用.csv格式的数据,并希望将所有空单元格设置为空字符串的值。

我面临的问题是这些文件已被不同环境中的几个人操纵,因此这些单元格中存在各种不同的垃圾值,例如:

' '
'NaN'
'nan'
'\n'
'   '

等等。

我正在寻找一种标准方法来识别所有这些类型的垃圾值。"

4 个答案:

答案 0 :(得分:4)

使用.strip()删除空格,然后检查该值是否是您要忽略的值:

if value.strip() in ['', 'NaN', 'nan']:
    # ignore this value

或者,使其不区分大小写:

if value.strip().lower() in ['', 'nan']:
    # ignore this value

答案 1 :(得分:2)

您可以使用isspace函数来消除' ''\n'等空格值,但不会处理'NaN''nan'等值。没有真正标准的方法来处理这些,所以除了使用isspace之外,我还会创建一个黑名单,例如:

blacklist = ['NaN', 'nan'] # add more as needed

然后使用isspace()blacklist来过滤掉不需要的值。

答案 2 :(得分:0)

您可以将csv读入Pandas DataFrame,然后使用DataFrame.fillna()

答案 3 :(得分:0)

我认为pandas.replace对您的问题来说是个不错的选择。

以下是一些示例代码:

import pandas as pd
# sample data
dic = {'a':['NAN', "", "NaN"], 'b':["", "nan", '\n'], 'c':[1,'2','3']}
df = pd.DataFrame(dic)

replace_list = ['NaN', '', 'nan', '\n']
df_clean = df.replace(replace_list, '')
df_clean

您可以将csv数据导入Pandas并执行相同的操作。

希望它有所帮助。