首页 > 解决方案 > 如何从 .csv 文件中获取第二行第二列?

问题描述

我有一个如下所示的 CSV 文件:

Order ID,Order Date,Ship Date,Ship Mode
CA-2011-103800,2013-01-03,2013-01-07 00:00:00,Standard Class
CA-2011-112326,2013-01-04,2013-01-08 00:00:00,Standard Class

我只需要从第一个数据行中获取订单日期,即2013-01-03在这种情况下。

我尝试了下面的代码,但没有解决问题。

set file=output.csv
for /f "skip=1 tokens=2 delims=," %%A in (%file%) do (echo %%A)

我是初学者。谁能帮我解决这个问题?

标签: batch-file

解决方案


这可以通过从file.csv. 通过使用,我们可以抓取我们想要!Line[2]!的文件的任何行。.csv只需将行和列配置更改为您需要的。这对于搜索.csv文件非常有用。

@echo off
@setlocal enabledelayedexpansion

Rem | Row & Column Information
Set "Row=2"
Set "Column=2"

Rem | Turn Lines To Array Strings
for /f "tokens=* delims=" %%A in ('Type file.csv') do (
    set /a "count+=1"
    set "Line[!count!]=%%A"
)

Rem | Grab Second Column From Second Row
for /f "tokens=%Column% delims=," %%A in ('Echo !Line[%Row%]!') do (
    set "Data=%%A"
)

Echo Second Row, Second Column Data: %Data%

我留下了一个新的Rem笔记来帮助你完成脚本过程。


推荐阅读