Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow CSV解码错误_Python_Csv_Tensorflow - Fatal编程技术网

Python Tensorflow CSV解码错误

Python Tensorflow CSV解码错误,python,csv,tensorflow,Python,Csv,Tensorflow,我使用的是TensorFlow 0.10.0rc0。我在Ubuntu 14.04上有CUDA驱动程序版本=7.5和CUDNN4 我有一个简单的CSV文件,它只有一行,如下所示: "field with newline",0 在Ubuntu上的VIM中按enter键添加了换行符。 我可以使用read\u csv功能在pandas中读取此文件,其中文本字段显示为包含单个\n字符 但当我尝试在TensorFlow中读取它时,我得到以下错误: tensorflow.python.framework.e

我使用的是TensorFlow 0.10.0rc0。我在Ubuntu 14.04上有CUDA驱动程序版本=7.5和CUDNN4

我有一个简单的CSV文件,它只有一行,如下所示:

"field with
newline",0
在Ubuntu上的VIM中按enter键添加了换行符。 我可以使用
read\u csv
功能在
pandas
中读取此文件,其中文本字段显示为包含单个
\n
字符

但当我尝试在TensorFlow中读取它时,我得到以下错误:

tensorflow.python.framework.errors.InvalidArgumentError: Quoted field has to end with quote followed by delim or end
我的用于读取CSV的张量流代码使用此函数读取单行:

def read_single_example(filename_queue, skip_header_lines, record_defaults, feature_index, label_index):
    reader = tf.TextLineReader(skip_header_lines=skip_header_lines)
    key, value = reader.read(filename_queue)
    record = tf.decode_csv(
        value,
        record_defaults=record_defaults)
    features, label = record[feature_index], record[label_index]
    return features, label
如果我使用
pandas
阅读并用空格替换所有换行符,则TensorFlow代码能够成功解析CSV


但如果新行可以在TensorFlow CSV管道中处理,这将非常有用。

根据我的经验,TensorFlow的CSV阅读器对于RFC4180非常严格

确保您的文件在每行末尾以及在引用字段中使用CRLF,应该允许处理


注意:到目前为止,我一直在使用0.9。我没有尝试从0.10开始使用RCs。

这里的问题是
TextLineReader
在csv解码器解析文件之前将其拆分为新行。使用tf.data,您可以使用,它根据RFC4180正确解析此文件。

RFC4180规范表示允许使用,python的默认csv方言为“excel”,但应该能够使用。Tensorflow 0.9中也存在相同的错误。我已经在上面的问题中给出了我的整个csv文件。据我所知,这个csv文件遵循RFC4180。请看上面@you的评论。很抱歉出现了长时间的空白。你的问题解决了吗?更新会很棒,比如回答你自己的问题。我现在没有复制。嗨@EricPlaton,我在Tensorflow github中提出了这个问题,我想他们正在研究这个问题。