CSV 行具有以下格式:
timestamp,department,building,gender
2017-09-07 00:00:08,215,management,a,m
如您所知,分隔符是逗号。问题是当遍历每一行并访问性别值(4 列 - current_line[3]
(时,我最终访问了建筑值,因为时间戳的毫秒部分也由逗号分隔!
为了解决这个问题,我遍历了每一行,并将第一,
替换为.
,以便现在时间戳是单个值。
但是以这种方式修改大型 csv 文件非常耗时。有没有有效的方法来避免这种不必要的分离?
附言添加新的标题值是不可接受的
任何工具都为您提供此输出都是错误的。如果列中有逗号,则该工具应将值放在引号内:
timestamp,department,building,gender
"2017-09-07 00:00:08,215",management,a,m
关于解决方案:
a( 无需修改 CSV。只需将列定义更改为
timestamp, milliseconds, department, building, gender
b( 修复大型 CSV 并不耗时。 使用正则表达式替换
search: ([^,]*),(.*)
replace: 1.2
c( 由于您的工具不会将值放在引号中,请尝试使用其他分隔符。另一个常见的是;
<</p>
将delimiter
更改为|
而不是,