首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >字段由- MySQL终止的多种可能性

字段由- MySQL终止的多种可能性
EN

Stack Overflow用户
提问于 2019-09-18 06:16:49
回答 1查看 319关注 0票数 1

我正在尝试使用.csv将一个LOAD DATA INFILE文件导入mysql。

在the.csv文件中,字段是用空格分隔的,但是在某个字段中,有多个信息由, (逗号)分隔。

我也想解析这个字段。

如何在mysql中为FIELDS TERMINATED BY添加多种可能的空格或逗号?

提供了我正在处理的.csv文件的单个行示例:

代码语言:javascript
运行
复制
1565067700.891 0 yyy.yyy.yyy.yyy TCP_DENIED/403 0 CONNECT tunnel://xxx.xxx.xxx.xxx/ - NONE/- - BLOCK_ADMIN_CONNECT_12-DefaultGroup-DefaultGroup-NONE-NONE-NONE-NONE-NONE <-,-,-,"-",-,4,-,-,"-",-,6.5,-,"-",-,1,"-","-",-,1,-,-,"-","-","low","-","-","-",0.00,0,-,"-","-",-,"-",-,-,"-","-",-,-,"-",-> - "06/Aug/2019:11:01:40 

我想在上面的行中解析<>之间的内容,以及用空格分隔的其余字段

到目前为止,我已经尝试过:

代码语言:javascript
运行
复制
LOAD DATA LOCAL INFILE '/home/user/myfile.csv' INTO TABLE `mytable` 
FIELDS TERMINATED BY ' ' 
LINES TERMINATED BY '\n' 
(@col1, @col2, @col3) 
set id=@col1, name=@col2, company=@col3;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-18 10:19:50

您可以考虑对文件进行预处理,将逗号替换为空格,这样就可以使用LOAD数据而无需进一步调整。由于在任何数据中都不需要逗号,所以这可能与linux上的tr -s ',' ' ' < file.csv > processed.csv一样简单。类似地,您可以用逗号(即tr -s '[:blank:]' ',' < file.csv > processed.csv )替换所有空格,然后设置FIELDS TERMINATED BY ','

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57986167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档