Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何处理以逗号分隔毫秒的CSV时间戳_Python_Csv - Fatal编程技术网

Python 如何处理以逗号分隔毫秒的CSV时间戳

Python 如何处理以逗号分隔毫秒的CSV时间戳,python,csv,Python,Csv,CSV行具有以下格式: timestamp,department,building,gender 2017-09-07 00:00:08,215,management,a,m 如您所知,分隔符是逗号问题是当迭代每一行并访问性别值(4列-当前行[3])时,我最终访问建筑值,因为时间戳的毫秒部分也被逗号分隔 为了解决这个问题,我遍历了每一行,并用替换了第一行,,这样时间戳就变成了一个值 但是以这种方式修改大型csv文件非常耗时。有没有有效的方法避免这种不必要的分离? 请注意,添加新标题值是不可接受

CSV行具有以下格式:

timestamp,department,building,gender
2017-09-07 00:00:08,215,management,a,m
如您所知,分隔符是逗号问题是当迭代每一行并访问性别值(4列-
当前行[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) 由于您的工具不将值放在引号中,请尝试使用其他分隔符。另一个常见的是

当前行[4]
将显示性别。