java csv 换行符_如何通过处理像换行符这样的情况来读取csv文件?

for row in codecs.getreader(self.encoding)(self.response[u'Body']).readlines():

row_string = StringIO(row)

print ("Row read from the data is: ")

print (row_string.getvalue())

df = pd.read_csv(row_string, sep=",")

我已经编写了上面的代码来逐行从s3流式处理csv文件。但是,csv文件中有一行

进入

在其中一排。Pandas可以在本地下载文件时读取它,但在上面的代码中,它会生成一个错误:

[2018-11-12 14:11:45,586] {models.py:1595} ERROR - Error tokenizing data. C error: EOF inside string starting at line 0

忽略上面的第0行注释,正如您在我的代码中看到的,我读取了一行并形成了它的数据帧。

完整的错误回溯是:

[2018-11-12 14:11:45,586]

{models.py:1595} ERROR - Error tokenizing data. C error: EOF inside

string starting at line 0 Traceback (most recent call last): File

"/usr/local/lib/python3.5/dist-packages/airflow/models.py", line 1493,

in _run_raw_task

result = task_copy.execute(context=context) File "/usr/local/lib/python3.5/dist-packages/airflow/operators/python_operator.py",

line 89, in execute

return_value = self.execute_callable() File "/usr/local/lib/python3.5/dist-packages/airflow/operators/python_operator.py",

line 94, in execute_callable

return self.python_callable(*self.op_args, **self.op_kwargs) File

"/usr/local/lib/python3.5/dist-packages/pallet-0.0.0-py3.5.egg/pallet/tasks/versionator.py", line 228, in driver_de_versionator

a.index_patch() File "/usr/local/lib/python3.5/dist-packages/pallet-0.0.0-py3.5.egg/pallet/tasks/versionator.py", line 202, in index_patch

DB.process(self.form_candidate_version, self.destination_of_kch_file_to_be_downloaded) File

"/usr/local/lib/python3.5/dist-packages/pallet-0.0.0-py3.5.egg/pallet/tasks/versionator.py", line 144, in form_candidate_version

df = pd.read_csv(row_string, sep=",") File "/usr/local/lib/python3.5/dist-packages/pandas/io/parsers.py", line

678, in parser_f

return _read(filepath_or_buffer, kwds) File "/usr/local/lib/python3.5/dist-packages/pandas/io/parsers.py", line

440, in _read

parser = TextFileReader(filepath_or_buffer, **kwds) File "/usr/local/lib/python3.5/dist-packages/pandas/io/parsers.py", line

787, in __init__

self._make_engine(self.engine) File "/usr/local/lib/python3.5/dist-packages/pandas/io/parsers.py", line

1014, in _make_engine

self._engine = CParserWrapper(self.f, **self.options) File "/usr/local/lib/python3.5/dist-packages/pandas/io/parsers.py", line

1708, in __init__

self._reader = parsers.TextReader(src, **kwds) File "pandas/_libs/parsers.pyx", line 539, in

pandas._libs.parsers.TextReader.__cinit__ File

"pandas/_libs/parsers.pyx", line 737, in

pandas._libs.parsers.TextReader._get_header File

"pandas/_libs/parsers.pyx", line 932, in

pandas._libs.parsers.TextReader._tokenize_rows File

"pandas/_libs/parsers.pyx", line 2112, in

pandas._libs.parsers.raise_parser_error pandas.errors.ParserError:

Error tokenizing data. C error: EOF inside string starting at line 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值