csv - 合并多个 CSV 时 CSV 行尾的空格
问题描述
考虑到我的 CSV 有一个标题,我编写了一批将当前目录中的多个 CSV 合并为一个。但是我得到的文件在每行的末尾都包含一个空格字符。
@echo off
pushd %~dp0
setlocal ENABLEDELAYEDEXPANSION
set cnt=1
for %%i in (*.csv) do (
if !cnt!==1 (
for /f "delims=" %%j in ('type "%%i"') do echo %%j >> merged.csv
) else if %%i NEQ merged.csv (
for /f "skip=1 delims=" %%j in ('type "%%i"') do echo %%j >> merged.csv
)
set /a cnt+=1
echo !cnt!
)
解决方案
- 此批次将仅在第一个 csv 中保留标头
- 如果您使用 var 作为标志并检查它是否存在,则不需要延迟扩展。
- 您还需要排除
merged.csv
被附加(附加到自身)。
@echo off
pushd %~dp0
set "flag="
for /f "delims=" %%i in ('dir /B *.csv ^|find /v "merged.csv" ') do (
if not defined flag (
copy "%%i" merged.csv
set flag=anything
) else more +1 "%%i" >>merged.csv
)
popd
推荐阅读
- php - 层层路由作为 POST?
- reactjs - React - useRef 没有暂停视频
- android - Android:如何使用 shouldShowRequestPermissionRationale 检查权限状态?
- html - 隐藏的项目未正确显示在我想要的位置
- nginx - 具有 ssl 拦截的 Kubernetes 入口/反向和正向代理
- r - plotly R中的多行不使用add_trace
- c# - 向 DataGrid 添加新行显示为空白
- eclipse - 将提交推送到 github 存储库时出现无法连接到任何 URI(未授权)错误
- c# - 在 ASP.NET MVC .Net5/.Net 核心中创建 GridView 的最佳方法
- typescript - 我可以定义一个由泛型扩展的类型吗?