excel - 从 bash 写入时,日期/时间在 csv 中不正确
问题描述
我正在将逗号(,)分隔的数据从 .txt 文件写入 bash 中的 .csv。
执行此操作的 bash 代码的一部分。
<path to file>/textfile.txt > <path to file>/csvfile.csv
除具有日期/时间的数据外,所有数据都正确写入 csv 文件。
给定文本文件中的输入:
07/01/2021 00:22:21.948,LC firm
07/01/2021 00:31:01.975,5800
书面 CSV 文件:
如果我们单击单元格并查看编辑栏,则写入的日期/时间显示得有点正确,但默认情况下它在单元格中的显示方式不同。我不想要单元格或公式栏中的值。
我希望它在写入 csv 时采用以下格式。
07/01/2021 00:22:21.948 - with milliseconds
or
7/1/2021 12:22:21.948 AM - with milliseconds
任何帮助将不胜感激。
解决方案
使用 awk:
awk -F, '{ hr=substr($0,12,2);if (hr<=12) { ampm="AM" } else { ampm="PM" };$1=$1" "ampm" - With Miliseconds";OFS="," }1' txtfile.txt > csvfile.csv
将逗号设置为字段分隔符,然后使用 substr 从行中提取小时。检查 hr 变量以发现它是否在 12 或之前,如果是,则将变量 ampm 设置为 AM,否则 ampm 为 PM。相应地修改第一个字段并打印行。
输出:
07/01/2021 00:22:21.948 AM - With Miliseconds,LC firm
07/01/2021 00:31:01.975 AM - With Miliseconds,5800
推荐阅读
- azure-data-factory-2 - Azure 数据工厂 - 数据流 - 加入 - 广播
- swift - 有什么方法可以在 iOS 13 上的 Swift 中访问 Wifi 信号强度?
- android - 如何使用 WebResourceResponse 拦截广告 shouldInterceptRequest
- r - 在多个变量上传递函数
- python - 使用 Systemctl 找不到 Python
- python-3.x - 为什么有些表情符号没有转换回它们的表示形式?
- python - 类型错误:“str”和“float”的实例之间不支持“>”
- node.js - 如何在 URL 中没有端口号的情况下使用 Traefik + Docker + Nodejs 访问我的 API?
- sql-server - 500 RequestError:无效的列名“字符串”和环回 4
- php - 将带有循环的 HTML 传递给 php 中的变量