2013-10-15 122 views
0

我需要知道是否可以創建批處理.bat文件以從.csv中提取幾行並將這些選定行保存到另一個.csv文件中。我已經閱讀了這個網頁上的另一個主題,我只能找到如何將我的csv分割成幾個文件,並將它切割成一定數量的行(例如將其切割成最多500行的csv文件)。從.csv文件中提取選定的數據到另一個

在我想要管理的csv文件中,有幾行數據具有相同的結構。

我想提取到另一個.csv文件中的某些行的這些過濾按位於每一行中某個位置的票號。我不想在導出文件的原始文件上做任何更改,我只想將這些文件複製到另一個.csv文件中。例如,如果我有這些行:

19/09/2013 123456789 
19/09/2013 231564215 
19/09/2013 456464231 
19/09/2013 564659832 
19/09/2013 000000054 

如圖所示,票號總是位於第12和第21位之間。在這個例子中,我想提取到另一個csv文件的票號爲「231564215」和「564659832」的行。因此,新的.csv文件中的數據必須是:

19/09/2013 231564215 
19/09/2013 564659832 

我需要的腳本來問你從哪裏要提取原始文件名和保存數據,顯然要問你您想提取的門票數量(以回車爲例)。我會想獲得的順序是這樣的:

CMD Says: Please select the file you would like to convert 
I type: c:/Documents and setting/Marta/testFile.csv 
CMD Says: Please enter the list of tickets you want to export 
I type: 231564215 
564659832 
CMD Says: Exporting data... 
CMD: Export process finished. Your new file is c:/Documents and setting/Marta/exportedData.csv 

注:對不起,我的英文不好,我西班牙人

+1

1)我看不到'CSV'文件2)你有什麼嘗試? – Endoro

回答

0

根據您所提供的示例文件編輯

,所需要的號碼不能與每個記錄的任何其他部分搞混了,因此該返回數據,您需要:

@echo off 
(for /f "usebackq delims=" %%a in ("Ticket Numbers.txt") do find ",%%a," <"originalFile.csv" )>"newfile.csv" 

那是一個usefu l將數據導入新文件的方式?

+0

這會給數字嵌入在較大數字中的行進行錯誤匹配。你可能想''\ <231564215 $ \ <564659832 $「',以便它只匹配整個」單詞「。 – dbenham

+0

是的,@dbenham - 我懷疑輸入的數據與發佈的內容沒有任何關係,所以我只是根據發佈的數據進行回覆,然後等待OP回覆。 – foxidrive

+0

感謝你們所有人。如果您希望原始.csv和手動生成的文件與我想要的浴液輸出相同,但是我如何在此處附加文件,則可以附加該文件? – arcones

相關問題