python pandas特殊字符作为分隔符

时间:2017-06-19 00:42:38

标签: python-3.x csv pandas

我有一个带有特殊字符[˛]的文本文件作为分隔符。我复制粘贴这个特殊字符作为我的read_csv命令中的分隔符,我收到以下错误:

    try {
        $this->authorize('update', $data);
    } catch (\Exception $e)
    {
        return response()->json(null, 403);
    }

知道如何在阅读文本文件时使用特殊字符吗?

1 个答案:

答案 0 :(得分:2)

只有警告和解决方案才能删除它非常简单 - 添加engine='python'

Specifying the parser engine

  

在引擎盖下,pandas使用C中实现的快速有效的解析器以及目前功能更完善的python实现。在可能的情况下,pandas使用C语法分析器(指定为engine='c'),但如果指定了C不支持的选项,则可能会回退到python。目前,C不支持的选项包括:

  • sep而不是单个字符(例如正则表达式分隔符)
  • skipfooter
  • sep =无,delim_whitespace = False
  

除非使用engine='python'显式选择了python引擎,否则指定上述任何选项都将产生ParserWarning。

import pandas as pd
from pandas.compat import StringIO

temp=u"""a˛b˛c
1˛3˛5
7˛8˛1
"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), sep="˛", engine='python')
print (df)
   a  b  c
0  1  3  5
1  7  8  1