csv - CSV 中的 NULL 没有分隔符
问题描述
我的 Linux 机器中有一个 csv 文件,我正在尝试进行一些查询。但是 csv 中的某些列具有 NULLS 并且它没有在分隔符内表示,所以我发现由于一致性而难以查询其他列。
现在的格式是:
col1,col2,col3,col4,col5... col23
"val1","val2",NULL,"Val3","val4","val5",...,"val23"
"val1","val2","val2",NULL,"val4","val5",...,"val23"
我正在尝试在不同的列中替换此处的 NULL 以使用分隔符。
awk -F "," 'BEGIN {OFS="\",\""} $3 == "NULL" { $3 = "\"NULL\"" } {print $3}' file1.csv
到目前为止,我已经尝试过使用 awk,但似乎没有任何效果。有没有更好的方法或者有人可以帮助使用上述命令?
解决方案
考虑到您的 Input_file 与显示的示例相同,您能否尝试以下操作。
awk '
BEGIN{
FS=OFS=","
}
{
gsub(/NULL/,"\"&\"")
}
1' Input_file
推荐阅读
- sql-server - 我如何将 mssql 链接到 android 工作室?
- php - 正则表达式字符含义
- javascript - 模拟文本输入更改,就好像用户键入了特定键以触发 React 的 onChange 处理程序?
- html - 结合使用 BeautifulSoup 的 iframe 内部和外部的 html 解析
- python - Python中未使用的变量
- c++ - fstream 读写函数错误
- javascript - 如何在重定向时隐藏 React sweetalert 弹出窗口
- python - 具有恒定时间访问的高效循环缓冲区
- reactjs - 我正在尝试为表单验证创建一个自定义挂钩
- java - 从命令行 Java 传递文件