Python 属性错误:';str';对象没有属性';队列参考号';
我正在尝试使用Tensorflow读取CSV文件:Python 属性错误:';str';对象没有属性';队列参考号';,python,tensorflow,Python,Tensorflow,我正在尝试使用Tensorflow读取CSV文件: import tensorflow as tf reader = tf.TextLineReader() key, value = reader.read("../input/training.csv") 但是,我在代码的最后一行发现了这个问题: /opt/conda/lib/python3.6/site-packages/tensorflow/python/ops/io_ops.py in read(self, queue, name)
import tensorflow as tf
reader = tf.TextLineReader()
key, value = reader.read("../input/training.csv")
但是,我在代码的最后一行发现了这个问题:
/opt/conda/lib/python3.6/site-packages/tensorflow/python/ops/io_ops.py in read(self, queue, name)
191 queue_ref = queue
192 else:
--> 193 queue_ref = queue.queue_ref
194 if self._reader_ref.dtype == dtypes.resource:
195 return gen_io_ops._reader_read_v2(self._reader_ref, queue_ref, name=name)
AttributeError: 'str' object has no attribute 'queue_ref'
知道这是什么原因吗?您需要为您的文件创建一个队列:
filename_queue = tf.train.string_input_producer(["../input/training.csv"])
reader = tf.TextLineReader()
key, value = reader.read(filename_queue)
从:
[……]
:表示队列句柄的队列或可变字符串张量,带有字符串工作项队列
tf.train.string\u input\u producer()
调用从第4项创建文件名队列,传入一个简单的文件名列表(第1项)。tf.TextLineReader()
是上面列表中的第5项。您需要为您的文件创建一个队列:
filename_queue = tf.train.string_input_producer(["../input/training.csv"])
reader = tf.TextLineReader()
key, value = reader.read(filename_queue)
从:
[……]
:表示队列句柄的队列或可变字符串张量,带有字符串工作项队列
上面的
tf.train.string\u input\u producer()
调用从第4项创建文件名队列,传入一个简单的文件名列表(第1项)。tf.TextLineReader()
是上面列表中的第5项。reader.read()
不带文件名。从文档中可以看到一个队列:队列:一个队列或一个表示队列句柄的可变字符串张量,带有字符串工作项。reader.read()
不包含文件名。从文档中可以看到一个队列:队列:一个队列或表示队列句柄的可变字符串张量,带有字符串工作项。谢谢!另外,您知道如何使用该队列读取多个文件吗?我的意思也是test.csv
,labels.csv
@octavian:队列包含一个文件名列表,只需在该列表中添加更多文件名。此行似乎可以获取队列中所有文件的键和值key,value=reader.read(filename\u queue)
。您知道如何通过读取键和值的文件来分隔键和值吗?@octavian:eachread()
调用产生一行;关键点反映了该行的来源。因此,如果您有多个文件,则当值来自不同的文件时,密钥会发生更改。谢谢!另外,您知道如何使用该队列读取多个文件吗?我的意思也是test.csv
,labels.csv
@octavian:队列包含一个文件名列表,只需在该列表中添加更多文件名。此行似乎可以获取队列中所有文件的键和值key,value=reader.read(filename\u queue)
。您知道如何通过读取键和值的文件来分隔键和值吗?@octavian:eachread()
调用产生一行;关键点反映了该行的来源。因此,如果有多个文件,则当值来自不同的文件时,键会发生更改。