簡體   English   中英

用於將 txt 轉換為 CSV 的批處理文件刪除空格和逗號轉換為列

[英]Batch File for convert txt to CSV removes spaces and commas convert to columns

我是批處理文件程序的新手。

我有很多文本 (.txt) 文件要轉換為 CSV。 如果使用手動方法(復制粘貼到 excel)刪除空格或逗號並轉換為列,則需要很長時間。

我有一個想法創建一個批處理文件並將其放在文本(.txt 文件)將在批處理文件運行時轉換為 CSV 的同一文件夾中,它會自動將文本轉換為 CSV 並創建 ZCC8D68C551C4A9A6DEDAFDZ 文件。

文本文件格式如下所示

源文本文件

作為文本:




 ADINA: AUI version 9.3.1, 22 November 2017:  *** NO HEADING DEFINED ***
 Licensed from ADINA R&D, Inc.
 Finite element program ADINA, response range type load-step:
 Listing for zone EG1:
      POINT        NODAL_FORCE-R

 Time 1.40000E+01

 Element 101100 of element group 1

 Local node 1     -2.96954E+03
 Local node 2      2.96954E+03

 Element 101200 of element group 1

 Local node 1      1.31964E+04
 Local node 2     -1.31964E+04

 Element 101300 of element group 1

 Local node 1      1.38607E+04
 Local node 2     -1.38607E+04

 Element 101400 of element group 1

 Local node 1     -3.57060E+03
 Local node 2      3.57060E+03

 Element 102100 of element group 1

 Local node 1      2.22511E+04

除此之外,我想刪除紅框中的文字。 因為我不使用它。

我要創建的 CSV 文件如下所示

Excel 顯示的 CSV 文件

文件夾結構

“文件夾”

這個批處理文件代碼有什么解決方案嗎?

非常感謝您的幫助。 謝謝大家!

我認為這可能會做你想要的:

@echo off
if "%1" == "" goto FindFiles

:ProcessFile
for /F "tokens=1,2,3,4,5,6" %%A in (%1) do (
if "%%A" == "Time" echo %%A,%%B
if "%%A" == "Local" echo %%A,%%B,%%C,%%D
if "%%A" == "Element" echo.
if "%%A" == "Element" echo %%A,%%B,%%C,%%D,%%E,%%F
if "%%A" == "Element" echo.
)
goto Exit

:FindFiles
for %%I in (*.txt) do call %0 %%I > %%~nI.csv
goto Exit

:Exit

雙擊時,它會為當前文件夾中的每個 *.txt 文件自行運行一次。 每個文件僅通過保存以TimeLocalElement開頭的行來處理(需要時添加空行)。 保存的每一行都有每個空格分隔的值,它們之間用逗號保存。

這是一個基本示例,您可以將其作為學習經驗的一部分。 答案僅適用於您提供的已發布文本文件內容。 我不會解釋其中的任何內容,或者由於您最初發布的任務的后續更改而更改任何內容(因為您自己沒有嘗試任何事情)

@If Exist "force.txt" ((For /F "Skip=9 Tokens=1-7" %%G In (
    '%__AppDir__%find.exe /N /V "" ^< "force.txt"'
) Do @If Not "%%M" == "" (Echo %%H,%%I,%%J,%%K,%%L,%%M
    ) Else If Not "%%L" == "" (Echo %%H,%%I,%%J,%%K,%%L
    ) Else If Not "%%K" == "" (Echo %%H,%%I,%%J.%%K
    ) Else If Not "%%J" == "" (Echo %%H,%%I,%%J
    ) Else If Not "%%I" == "" (Echo %%H,%%I
    ) Else If Not "%%H" == "" (Echo %%H) Else Echo=) > "force.csv")

進入電子表格后,如果您希望它與您發布的圖像匹配,您仍然需要合並所需的單元格 alignment 和格式更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM