将 CSV 文件中的日期列以“YYYYMMDDHH24MISS”格式格式化为 ksh 中的“YYYYMMDD HH24MISS”格式

2023-12-11

我编写了一个脚本,它从 CSV 文件中获取值并将其插入到 postgres 表中,但遇到了问题。 CSV 文件中的日期列采用“YYYYMMDDHH24MISS”格式,表中的同一列定义为时间戳,当使用 \copy 命令插入时,出现以下错误,

ERROR: 22008: date/time field value out of range: "20000125200942"

因此,我尝试了一些方法,并发现如果我有“YYYYMMDD HH24MISS”格式的条目,则插入工作正常。

现在的问题是我不知道如何在 ksh 中格式化 CSV 文件的条目。

我尝试将 gsub 命令与 awk 一起使用,但似乎不起作用。

awk 'BEGIN {FS=OFS=","} {gsub(/^([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$/, "\\1\\2\\3 \\4\\5\\6", $1)} 1' input_file.csv > output_file.csv

我们将不胜感激您的所有帮助


假设:

  • 所有输入(第一个字段)均由 14 位数字组成YYYYMMDDHHMMSS format

输入示例:

$ cat input_file.csv
20000125200942,xxxxx,xxxx

One awk我们重新定义第一个字段的想法($1) 具有一对用空格分隔的子字符串:

awk 'BEGIN {FS=OFS=","} {$1=substr($1,1,8) " " substr($1,9)} 1' input_file.csv > output_file.csv

这会生成:

$ cat output_file.csv
20000125 200942,xxxxx,xxxx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 CSV 文件中的日期列以“YYYYMMDDHH24MISS”格式格式化为 ksh 中的“YYYYMMDD HH24MISS”格式 的相关文章

随机推荐

  • PHP 代码未在浏览器中呈现[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我有一个文件 manage php 其中包含 php
  • 在服务器上执行java代码

    我正在开发一个 Web 应用程序 一种用于编写和编译代码的在线 IDE 编程语言和编译器都是在大学内部开发的 我的问题是 是否可以在服务器上执行编译器 编译器是用java编写的 以便它编译代码并返回要下载的编译文件 更简单的是 用户使用在线
  • Python 3 的事件循环实现?

    有谁知道可用于 Python 3 的事件循环库 或绑定 如果它只支持 UNIX 系统也没关系 但我更喜欢也支持 Windows 系统 ETA 我意识到编写一个事件循环系统并不是非常困难 然而 我不想重新发明轮子 这些天我们仍然鼓励不要这样做
  • 为什么图像压缩算法要按子块处理图像?

    例如 考虑 DFT 或 DCT 准确地说 通过子块变换的图像与整体变换的图像之间有什么区别 生成的文件大小是否较小 算法是否更高效 变换后的图像看起来有什么不同吗 谢谢 它们被设计为可以使用并行硬件来实现 每个块都是独立的 可以在不同的计算
  • Cygwin 显示 UTC 时间而不是本地时间

    今天我注意到我的 cygwin shell 显示了错误的时间 它实际上是 UTC 时间 而它应该是我的当地时间 一旦我取消设置 TZ 变量 它就会显示当地时间 以下是一些显示情况的命令 我运行的是 Windows 10 我的 Windows
  • 通过 Powershell 中的 Web 服务使用复杂对象?

    我一直在尝试通过 Powershell 使用供应商提供的 Web 服务系统 我正在运行 4 0 以下是我用来设置代理以使用该服务的代码 uri http somehost employer net 9999 AdministrationSe
  • 为什么一个进程共享同一个HT核心时,另一个进程的执行时间会更短

    我有一个带有 4 个 HT 核心 8 个逻辑 CPU 的 Intel CPU 并且构建了两个简单的进程 第一个 int main for int i 0 i lt 1000000 i for int j 0 j lt 100000 j 第二
  • 如何使用 React 路由器嵌套路由

    我有多个布局 应包含不同的屏幕 每个布局都有自己的页眉 页脚和类似页面应该共享的其他内容 这是我想出的代码
  • d3.js 使用极坐标绘制元素

    我是 d3 js 新手 不确定要使用哪个 d3 功能 我需要围绕原点 在圆圈中 同心放置一组元素 svg selectAll circle each function d3 select this attr cx r Math cos th
  • UCM Clearcase:一个项目与多个项目中的流层次结构

    我们有一个项目 即将向稳定的代码库添加一项新功能 除了缺陷修复之外 不会进行任何重大更改 该计划不是在一段时间内 可能一个月 单独开发新功能 进行中间构建和测试 当功能完成并且质量可以接受时 将新功能的代码合并到主分支中 问题是就 Clea
  • scanf 导致 C 中的无限循环

    我对 C 语言比较陌生 但我已经编程几年了 我正在为大学课程编写一个程序 我很困惑为什么下面的 scanf 函数没有被调用 导致无限循环 我尝试过将 scanf 放在函数之外 调用它两次 一次从内部 一次从外部 以及其他一些方式 我在网上读
  • BizTalk部署期间不需要通过控制台导入MIS时

    允许哪些 BizTalk 应用程序 编排 模式 映射更改不强制通过管理控制台导入 MSI 而只在 GAC 中安装 DLL 通过控制台强制导入以停止编排并终止实例 但在 GAC 中安装仅需要重新启动该应用程序的主机 因此 有时不停止生产环境中
  • 一个接一个地执行方法,执行之间有暂停

    新手 obj c 问题 我正在编写一个简单的 iPad 演示文稿 不适用于 Appstore 我的任务是实现几个相继执行的方法 并且它们之间几乎没有停顿 主要结构如下 查看负载 暂停两秒 然后执行method1 暂停两秒 然后执行metho
  • 检查多个列中的一个值

    我有一个包含这样的列的表 例如 id col1 col2 col3 col4 现在 我想检查一下是否ANY of col1 col2 col3 col4具有传递的值 要做到这一点 路还很长 SELECT FROM table WHERE c
  • 从购物车中删除运费计算

    如何从商店的购物车中删除运费计算 这是网站 tintinportintin com br 在 app design frontend base default checkout xml 的第 89 行 你会发现
  • CPU最大线程数

    这与处理器的线程有什么关系 例如 Intel i5 有四个核心和四个线程 我们的程序中可以使用多少个线程 例如在 C 中使用 std thread STL 8个线程对于一个程序来说是大还是小 这确实取决于 根据经验 将线程数量限制为接近核心
  • Hyperledger Composer:错误:无法请求身份。尝试注册用户并返回证书时出错

    我正在关注一个hyperledger composer tutorial 我无法在执行命令时执行步骤 15 composer identity request c PeerAdmin byfn network org1 only u adm
  • 为什么 stat_密度 (R; ggplot2) 和 gaussian_kde (Python; scipy) 不同?

    我正在尝试对一系列可能不是正态分布的分布生成基于 KDE 的 PDF 估计 我喜欢 R 中 ggplot 的 stat 密度 似乎可以识别频率中的每个增量波动 但无法通过 Python 的 scipy stats gaussian kde
  • 无法 json_encode() 数组或 Laravel 集合:“不支持类型”

    我不知道我做错了什么 因为它适用于应用程序中的所有其他模型 我多次刷新并重新播种数据库 这些模型扩展了相同的抽象方法 这是控制器中的代码 substrates this gt substrates gt all gt toArray tem
  • 将 CSV 文件中的日期列以“YYYYMMDDHH24MISS”格式格式化为 ksh 中的“YYYYMMDD HH24MISS”格式

    我编写了一个脚本 它从 CSV 文件中获取值并将其插入到 postgres 表中 但遇到了问题 CSV 文件中的日期列采用 YYYYMMDDHH24MISS 格式 表中的同一列定义为时间戳 当使用 copy 命令插入时 出现以下错误 ERR