Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
ebda5550
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ebda5550
编写于
8月 03, 2020
作者:
M
mindspore-ci-bot
提交者:
Gitee
8月 03, 2020
浏览文件
操作
浏览文件
下载
差异文件
!3716 Adapt the eof of Euler OS
Merge pull request !3716 from jiangzhiwen/dataset/adapt_eof
上级
fa96dfd1
471ecfca
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
6 addition
and
3 deletion
+6
-3
mindspore/ccsrc/minddata/dataset/engine/datasetops/source/csv_op.cc
...ccsrc/minddata/dataset/engine/datasetops/source/csv_op.cc
+4
-1
mindspore/ccsrc/minddata/dataset/engine/datasetops/source/csv_op.h
.../ccsrc/minddata/dataset/engine/datasetops/source/csv_op.h
+2
-2
未找到文件。
mindspore/ccsrc/minddata/dataset/engine/datasetops/source/csv_op.cc
浏览文件 @
ebda5550
...
...
@@ -411,7 +411,10 @@ Status CsvOp::LoadFile(const std::string &file, const int64_t start_offset, cons
csv_parser
.
Reset
();
try
{
while
(
ifs
.
good
())
{
char
chr
=
ifs
.
get
();
// when ifstream reachs the end of file, the function get() return std::char_traits<char>::eof()
// which is a 32-bit -1, it's not equal to the 8-bit -1 on Euler OS. So instead of char, we use
// int to receive its return value.
int
chr
=
ifs
.
get
();
if
(
csv_parser
.
processMessage
(
chr
)
!=
0
)
{
RETURN_STATUS_UNEXPECTED
(
"Failed to parse file "
+
file
+
":"
+
std
::
to_string
(
csv_parser
.
total_rows_
+
1
)
+
". error message: "
+
csv_parser
.
err_message_
);
...
...
mindspore/ccsrc/minddata/dataset/engine/datasetops/source/csv_op.h
浏览文件 @
ebda5550
...
...
@@ -95,7 +95,7 @@ class CsvOp : public ParallelOp {
void
setEndOffset
(
int64_t
end_offset
)
{
end_offset_
=
end_offset
;
}
int
processMessage
(
char
c
)
{
int
processMessage
(
int
c
)
{
Message
m
=
getMessage
(
c
);
StateDiagram
::
iterator
it
=
sd
.
find
({
cur_state_
,
m
});
if
(
it
==
sd
.
end
())
{
...
...
@@ -132,7 +132,7 @@ class CsvOp : public ParallelOp {
typedef
std
::
pair
<
State
,
std
::
function
<
int
(
CsvParser
&
,
char
)
>>
StateActionPair
;
typedef
std
::
map
<
StateMessagePair
,
StateActionPair
>
StateDiagram
;
Message
getMessage
(
char
c
)
{
Message
getMessage
(
int
c
)
{
if
(
c
==
csv_field_delim_
)
{
return
Message
::
MS_DELIM
;
}
else
if
(
c
==
'"'
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录