excel - 批处理文件仅在打开 .csv 文件后运行
问题描述
我有一个奇怪的问题。我有一个要处理的 .csv 文件。该脚本运行良好,我使用一个小的 .csv 文件进行测试没有任何问题,但是当我尝试在原始 .csv (大约 100k 行,7MB)上运行批处理时,由于某种原因,该脚本仅在我打开之后运行Excel 中的文件。
除了在不打开 Excel 的情况下无法运行之外,该脚本完成得很好,所以我不太确定发生了什么。特别是因为它确实使用较小的文件自动运行。
setlocal
set "file=test2.csv"
set "fileout=output.csv"
set /p "var="<"%file%" >nul
>"%fileout%" echo.%var%,test_column
for /f "skip=1 delims=" %%a in ('type "%file%"') do (
>>%fileout% echo.%%a,test_value
)
解决方案
更改代码以直接读取文件,而不是读取TYPE
命令的输出。还要附上您的所有代码,以便保持文件打开以供写入。
@echo off
set "file=input.csv"
set "fileout=output.csv"
set /p "var="<"%file%"
(
echo.%var%,test_column
for /f "usebackq skip=1 delims=" %%a in ("%file%") do echo.%%a,test_value
)>"%fileout%"
推荐阅读
- ios - iOS - UIActivityIndicatorView 没有停止
- three.js - ThreeJS 着色器动态纹理
- python - Keras 中的更多输入和一个输出问题
- vue.js - Vuetify v-data-table - 如何使其填充可用高度?
- python - 使用 Python 进行未知数据分析
- python - TypeError:“日期时间”类型的对象不是 JSON 可序列化的,python
- sql - 按日期在 PostgreSQL JSONB 列中的对象数组中搜索
- isabelle - 构建有用的引理
- mysql - 如何将时间从 hh:mm:ss.mmm 转换为秒和毫秒 mysql
- jquery - 获取每个表的总和值