如何将 CSV 文件中特定日期/时间字段值中的一位数小时修改为两位数小时?

辛哈303

我有一个文本文件 (.txt),其中包含以下格式的多行文本:

ABCD|TEST|123456|12/10/2017 5:41|Sample|CODENOTE123|Comment text|11/27/2017|12383697

可以看出,管道|操作符分隔了 9 列我需要编辑时间,即5:14,并将其转换为05:14. 如果小时已经有两位数,则不需要对行进行更改。日期和时间将始终是第 4 列元素。编辑后的行应如下所示:

ABCD|TEST|123456|12/10/2017 05:41|Sample|CODENOTE123|Comment text|11/27/2017|12383697

必须对文本文件中的每一行进行这种编辑,并且必须创建一个新的文本文件,其中所有行都包含正确的时间格式。

PS:列数(由管道操作符分隔)可以在9到14之间,但日期和时间会一直出现在第4列。

莫菲

执行批处理文件的 Windows 命令解释器设计用于运行命令和可执行文件,而不是用于编辑文本或二进制文件。因此,几乎所有其他脚本或编程语言都更适合此 CSV 文件编辑任务。

如何使用 Windows 命令行环境查找和替换文件中的文本?包含许多主要使用应用程序或其他脚本语言在文件中搜索和替换字符串的解决方案。

提供的解决方案之一是Dave Benham编写的JREPL.BAT它是一个批处理文件/JScript 混合体。Microsoft 的 JScript 支持正则表达式替换。因此,每当可以使用文本编辑器在文本文件上执行 Perl 中的简单正则表达式搜索和替换(如正则表达式语法)时,通常也可以使用批处理文件中的jrepl.bat来完成

下面的批处理代码期望jrepl.bat与包含发布的命令行的批处理文件位于同一目录中。要修改的文件在此批处理文件中指定了两次,名称为DataFile.csv

@echo off
if not exist "DataFile.csv" goto :EOF
if not exist "%~dp0jrepl.bat" goto :EOF

call "%~dp0jrepl.bat" "(\|[01][0-9]/[0-3][0-9]/(?:19|20)[0-9][0-9]) (?=[0-9]:[0-5][0-9]\|)" "$1 0" /F "DataFile.csv" /O -

编写搜索表达式以查找时间|在格式中的两个之间的日期,MM/DD/YYYY h:mm0在一位数小时之前的空格字符之后插入年份的世纪必须是1920

搜索字符串在行中的任何位置查找此格式的日期/时间,因为我认为这对未来更好,以防日期/时间字符串改变其在行中的字段位置。也可以|使用搜索字符串将此搜索/替换限制为第四个分隔字段值:

^((?:[^|]*\|){3}[01][0-9]/[0-3][0-9]/(?:19|20)[0-9][0-9]) (?=[0-9]:[0-5][0-9]\|)

DataFile.csv由这个批处理脚本直接修改。更换-在端jrepl.bat由文件名的命令行产生一个新文件被的副本DataFile.csv与所有小时值转换为两位数字的值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

DateTime.ParseExact-如何解析具有相同格式字符串的一位数和两位数小时?

来自分类Dev

我如何在python 2.7中将一位数字输出为两位数

来自分类Dev

python将一位数字的日期和月份转换为两位数

来自分类Dev

当数字从两位数变为一位数时,如何使屏幕上的字体居中?

来自分类Dev

如何读取CSV文件中的两位数字并在列表中讲故事?

来自分类Dev

如何读取CSV文件中的两位数字并在列表中讲故事?

来自分类Dev

将字符串中的一位数字(1或5B)替换为两位数字(01或05B)

来自分类Dev

将单位数和两位数与CSV中的空格对齐

来自分类Dev

如何在R中使用Stringr将一位数字替换为两位数字

来自分类Dev

如何在R中使用Stringr将一位数字替换为两位数字

来自分类Dev

如何在文本文件中的一位数字日期和时间值上插入前导“零”?

来自分类Dev

将数字字符串拆分为一位数字和两位数字的可能组合

来自分类Dev

如何将CSV数据从变量下载到csv文件?

来自分类Dev

如何将CSV数据从变量下载到csv文件?

来自分类常见问题

如何在python中获取两位数(00.00.00)的小时格式?

来自分类Dev

如何将零加一位数字(时间)?

来自分类Dev

如何将一组时间从CSV文件中的不同日期分组

来自分类Dev

如何将列表中的数据存储在.csv文件中?

来自分类Dev

如何将CSV文件中的行存储在字典中?

来自分类Dev

如何将MatLab代码中的数据修改为csv文件

来自分类Dev

如何将函数中的值设置为 CSV?

来自分类Dev

如何将csv列视为日期时间

来自分类Dev

在Python中:如何将稀疏矩阵写入csv文件?

来自分类Dev

如何将抓取数据保存到CSV文件中?

来自分类Dev

如何将CSV文件加载到QTreeView中?

来自分类Dev

如何将CSV文件放入数组中?

来自分类Dev

如何将行合并到 csv 文件中

来自分类Dev

如何将Xml数组的值映射到csv字段

来自分类Dev

如何将csv文件中的索引更改为正确的时间格式?

Related 相关文章

  1. 1

    DateTime.ParseExact-如何解析具有相同格式字符串的一位数和两位数小时?

  2. 2

    我如何在python 2.7中将一位数字输出为两位数

  3. 3

    python将一位数字的日期和月份转换为两位数

  4. 4

    当数字从两位数变为一位数时,如何使屏幕上的字体居中?

  5. 5

    如何读取CSV文件中的两位数字并在列表中讲故事?

  6. 6

    如何读取CSV文件中的两位数字并在列表中讲故事?

  7. 7

    将字符串中的一位数字(1或5B)替换为两位数字(01或05B)

  8. 8

    将单位数和两位数与CSV中的空格对齐

  9. 9

    如何在R中使用Stringr将一位数字替换为两位数字

  10. 10

    如何在R中使用Stringr将一位数字替换为两位数字

  11. 11

    如何在文本文件中的一位数字日期和时间值上插入前导“零”?

  12. 12

    将数字字符串拆分为一位数字和两位数字的可能组合

  13. 13

    如何将CSV数据从变量下载到csv文件?

  14. 14

    如何将CSV数据从变量下载到csv文件?

  15. 15

    如何在python中获取两位数(00.00.00)的小时格式?

  16. 16

    如何将零加一位数字(时间)?

  17. 17

    如何将一组时间从CSV文件中的不同日期分组

  18. 18

    如何将列表中的数据存储在.csv文件中?

  19. 19

    如何将CSV文件中的行存储在字典中?

  20. 20

    如何将MatLab代码中的数据修改为csv文件

  21. 21

    如何将函数中的值设置为 CSV?

  22. 22

    如何将csv列视为日期时间

  23. 23

    在Python中:如何将稀疏矩阵写入csv文件?

  24. 24

    如何将抓取数据保存到CSV文件中?

  25. 25

    如何将CSV文件加载到QTreeView中?

  26. 26

    如何将CSV文件放入数组中?

  27. 27

    如何将行合并到 csv 文件中

  28. 28

    如何将Xml数组的值映射到csv字段

  29. 29

    如何将csv文件中的索引更改为正确的时间格式?

热门标签

归档