我试图通过命令提示符运行此python命令,如下所示:
python "C:\Users\Bhavik\Desktop\Plaid Conversions\json_to_csv.py" accounts "C:\Users\Bhavik\Desktop\New folder (2)\file.json" "C:\Users\Bhavik\Desktop\New folder (2)\file.csv"
其中
C:\Users\Bhavik\Desktop\Plaid Conversions\json_to_csv.py
是python文件所在的位置accounts
- 是开始阅读记录的根节点我正在尝试通过创建一个批处理文件来自动执行此过程,在该文件中它自己读取文件名并重命名使用相应文件名创建的csv文件。
以下是我正在尝试的代码:
C:
:loop
cd c:/Windows/system32
set dir1=C:\Users\Bhavik\Desktop\PC
for /r %X IN ("%dir1%\*.json") DO (
python "C:\Users\Bhavik\Desktop\Plaid Conversions\json_to_csv.py" accounts "%%~XI" "C:\Users\Bhavik\Desktop\PC\test.csv"
var name= $(echo %nxX | cut -f 1 -d '.')
rename C:\Users\Bhavik\Desktop\PC\test.csv name.csv
)
goto loop
这里我尝试设置目录并使其读取json文件名,并在python命令中使用,其中需要提供json文件目标。 但是我面临着一些问题。
文件" C:\ Users \ Bhavik \ Desktop \ Plaid Conversions \ json_to_csv.py",第89行,中
fp = open(json_file_path,' r')
FileNotFoundError:[Errno 2]没有这样的文件或目录:' %% ~XI'
大家好,
我已经研究过代码并达到以下目的:
C:
:循环
cd c:/ Windows / system32
set dir1 = C:\ Users \ Bhavik \ Desktop \ PC2
表示%X IN("%dir1%*。json")DO(
set" filename1 =%~nX"
echo%filename1%
python" C:\ Users \ Bhavik \ Desktop \ Plaid Conversions \ json_to_csv.py"帐号"%X" " C:\用户\ Bhavik \桌面\ PC2 \ test.csv"
重命名" C:\ Users \ Bhavik \ Desktop \ PC2 \ test.csv" "%文件名1%的.csv" )
goto loop
但我现在面临的问题是,当我设置文件名时,它显示文件夹中的第一个json文件,但它在echoing上显示的值是最后一个json文件,这就是它如何重命名它。我假设这是因为它解析整个文件夹,这就是为什么每次都回显最后一个文件。
如何让它一次读取并回显一个文件并重命名?有什么建议吗?
答案 0 :(得分:0)
对不起伙计们,
我没想过。以下是我为实现目标所做的工作:
C:
:循环
cd c:/ Windows / system32
set dir1 = C:\ Users \ Bhavik \ Desktop \ PC2
setlocal enabledelayedexpansion
对于%X IN(“%dir1%*。json”)DO(
python“C:\ Users \ Bhavik \ Desktop \ Plaid Conversions \ json_to_csv.py accounts”%X“”C:\ Users \ Bhavik \ Desktop \ PC2 \ test.csv“
重命名“C:\ Users \ Bhavik \ Desktop \ PC2 \ test.csv”“%~nX.csv”)
转到循环
谢谢