从不同目录的输入创建新的CSV文件



我只是想用Python修改一个CSV文件。

当所有文件都在同一个目录时,一切正常。

既然输入文件在不同的目录中,而不是输出文件,一切都爆炸了,显然b/c文件不存在?

我首先发现这个:Python中的open()如果文件不't存在,则不创建文件

然后我学会了切换到目录,这帮助我循环遍历目标目录中的csv:在Python中向上移动一个目录

当我运行命令时:python KWRG.py ../Weekly Reports - Inbound/Search Activity/ 8/9/2021

我将得到:Traceback (most recent call last): File "KWRG.py", line 15, in <module> with open(args.input, 'r') as in_file, open(args.output, 'w') as out_file: IsADirectoryError: [Errno 21] Is a directory: '../Weekly Reports - Inbound/Search Activity/'

对不起,如果我在这里错过了显而易见的,但为什么文件没有在我指向脚本的目录中创建(或者根本没有)?

代码:

import csv
import argparse
import os
# Create a parser to take arguments
#...snip...
cur_dir = os.getcwd()
reports_dir = os.chdir(os.path.join(cur_dir, args.dir))
for csv_file in os.listdir(reports_dir):
# Shorthand the name of the file
#...snip...
# Open the in and out files
with open(csv_file, 'r') as in_file, open(f'{out_name}-Search-Activity-{args.date}.csv', 'w+') as out_file:
# Re-arrange CSV
# EOF

你的问题是这一行:

reports_dir = os.chdir(os.path.join(cur_dir, args.dir))

os.chdir()不返回任何东西,它只是执行请求的操作-更改当前工作目录。从与REPL的交互会话中:

>>> import os
>>> result = os.chdir("/Users/mattdmo/")
>>> result
>>> 

对于你的目的,你所需要的是

reports_dir = os.path.join(cur_dir, args.dir)

你就会一切就绪。

相关内容

  • 没有找到相关文章

最新更新