无法解析熊猫中的csv文件

时间:2020-05-06 06:00:12

标签: python-3.x pandas

我正在编写python脚本,在其中生成两个不同的csv文件,然后使用熊猫读取这些文件。我能够读取pandas的file1,但在读取file2时却出错,该file2与file1格式相同(列名称相同),但值不同/相同。请找到以下错误并获取示例代码。

错误:

Traceback (most recent call last):
  File "MSReport.py", line 168, in <module>
    fail = pd.read_csv('/home/cisapp/msLogFailure.csv', sep=',')
  File "/home/cisapp/.local/lib/python3.6/site-packages/pandas/io/parsers.py", line 676, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/home/cisapp/.local/lib/python3.6/site-packages/pandas/io/parsers.py", line 448, in _read
    parser = TextFileReader(fp_or_buf, **kwds)
  File "/home/cisapp/.local/lib/python3.6/site-packages/pandas/io/parsers.py", line 880, in __init__
    self._make_engine(self.engine)
  File "/home/cisapp/.local/lib/python3.6/site-packages/pandas/io/parsers.py", line 1114, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)
  File "/home/cisapp/.local/lib/python3.6/site-packages/pandas/io/parsers.py", line 1891, in __init__
    self._reader = parsers.TextReader(src, **kwds)
  File "pandas/_libs/parsers.pyx", line 532, in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file

代码:

df = pd.read_csv(BASE_LOCATION+'/msLog_Success.csv', engine='python')
f_output = df.groupby('MSISDN').last()
#print(df)
print(f_output)
fail = pd.read_csv(BASE_LOCATION+'/msLogFailure.csv', engine='python')
fail = fail['MSISDN']
fail = fail.tolist()
for i in fail:
    succ = f_output[f_output.MSISDN != i]

在上面的示例代码中,读取文件df = pd.read_csv(BASE_LOCATION+'/msLog_Success.csv', engine='python')时没有错误,但是读取文件fail = pd.read_csv(BASE_LOCATION+'/msLogFailure.csv', engine='python')时却遇到了如上所述的错误。请帮助解决。

注意:我正在使用python3运行代码。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题并解决了。因此,您可以使用以下思路进行检查。

检查定界符并像下面的示例一样提及

  1. pd.read_csv(BASE_LOCATION +'/ msLog_Success.csv',encoding ='utf-16',sep ='\ t')
  2. pd.read_csv(BASE_LOCATION +'/ msLog_Success.csv',delim_whitespace = True)

您也可以在文件路径前添加'r'。

否则共享文件图像

答案 1 :(得分:0)

您的 msLogFailure 文件示例看起来不错-6个列名和6个数据字段。

我正在寻找仅与此错误消息相关的帖子,并且找到了以下建议:

  • 将输入文件读入字符串变量,
  • 此字符串中的
  • read_csv ,例如pd.read_csv(io.StringIO(txt),...)

也许这会有所帮助。