Python 签入数据帧中的字符

Python 签入数据帧中的字符,python,pandas,Python,Pandas,我想将pandas数据框保存为csv文件,但我很难找到一个好的分隔符:如果我保存数据框并加载保存的文件,则会出现混合列 所以我需要检查我的数据帧中是否有一些字符会导致这个问题 我试过: for col in df.columns: if df[col].str.contains("|",na=False): print df[df[col].str.contains(",",na=False)] 使用,作为所需的分隔符,但返回: ValueError: The trut

我想将pandas数据框保存为csv文件,但我很难找到一个好的分隔符:如果我保存数据框并加载保存的文件,则会出现混合列

所以我需要检查我的数据帧中是否有一些字符会导致这个问题

我试过:

for col in df.columns:
    if df[col].str.contains("|",na=False):
        print df[df[col].str.contains(",",na=False)]
使用,作为所需的分隔符,但返回:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
如果我使用.any或.all,它将返回整个数据帧。我的代码有什么问题?

您需要为检查添加至少一个True,因为比较布尔序列,而不是标量值True或False:

只需在if语句中使用df[col].str.contains |,na=False.any,但在print语句中使用df[df[col].str.contains,na=False]
if df[col].str.contains("|",na=False).any():