filename_queue = tf.train.string_input_producer(["AlldTKmer4997.csv"])
reader = tf.TextLineReader()
key, value = reader.read(filename_queue)
record_defaults = [tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),
tf.constant([], dtype=tf.string),]
col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15
= tf.decode_csv(value,record_defaults=record_defaults)
features = tf.stack([col1, col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15 ])
with tf.Session() as sess:
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)
for i in range(1000):
X = sess.run([features])
coord.request_stop()
coord.join(threads)
` 我试图从一个字符和特殊字符的csv文件中读取并编写上面的代码 输入csv文件如下所示:
“A”“G”“T”“C”......(15个字符)“/”“)”“3”(15个特殊字符/整数)
但是我收到以下错误:
InvalidArgumentError:字符串内的引号必须由另一个引号转义 [[Node:DecodeCSV_2 = DecodeCSV [OUT_TYPE = [DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING,DT_STRING],field_delim =“,”,_ device = “/ job:localhost / replica:0 / task:0 / cpu:0”](ReaderReadV2_2:1,Const_15,Const_16,Const_17,Const_18,Const_19,Const_20,Const_21,Const_22,Const_23,Const_24,Const_25,Const_26,Const_27, Const_28,Const_29)]]
答案 0 :(得分:0)
Tensorflow只能在RFC4180之后解码有效的csv。
似乎你可能在内部字段中有双引号,其中双引号用于封闭。请参阅RFC4180的第2.7节。
如果使用双引号括起字段,则使用双引号 出现在一个字段内必须通过前面的方式进行转义 另一个双引号。例如:
"aaa","b""bb","ccc"
尝试在它之前添加额外的双引号。