蜂巢CSV不能导入熊猫

时间:2020-02-05 14:47:11

标签: csv hive beeline

我正在使用相当标准的Hive输出到csv:

beeline -f my_script.hql --output_format=csv2 > data.csv

但是此文件似乎不是正确的CSV:

  1. Unix系统无法读取
$ file data.csv
data.csv   data
  1. pandas中的python无法读取它:
>>> import pandas as pd
>>> pd.read_csv("data.csv")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/estergiadis/opt/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 685, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/Users/estergiadis/opt/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 463, in _read
    data = parser.read(nrows)
  File "/Users/estergiadis/opt/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 1154, in read
    ret = self._engine.read(nrows)
  File "/Users/estergiadis/opt/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 2059, in read
    data = self._reader.read(nrows)
  File "pandas/_libs/parsers.pyx", line 881, in pandas._libs.parsers.TextReader.read
  File "pandas/_libs/parsers.pyx", line 896, in pandas._libs.parsers.TextReader._read_low_memory
  File "pandas/_libs/parsers.pyx", line 950, in pandas._libs.parsers.TextReader._read_rows
  File "pandas/_libs/parsers.pyx", line 937, in pandas._libs.parsers.TextReader._tokenize_rows
  File "pandas/_libs/parsers.pyx", line 2132, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 4 fields in line 3, saw 7

该问题似乎与引号(与标准CSV中的"不同)有关。 我该如何解决?

1 个答案:

答案 0 :(得分:1)

Hive使用\ 0符号作为引号,您可以将其替换为'“'。

例如:

paris