【发布时间】:2019-01-12 00:57:02
【问题描述】:
我在一个目录中有多个 csv 文件,我试图将它们拆分到两个不同的文件夹中。如果在任何列或行中找到“colname”,则将数据写入 outpath1 中的 excel 文件。如果未找到“colname”,则将文件移动到 outpath2。我下面的代码工作正常,直到出现“if not row_found:”行,因为 outpath2 包含所有没有“colname”的文件,还有在行级别找到“colname”的文件。有没有办法解决这个问题或更好的方法来做到这一点?欢迎任何帮助。
for fname in os.listdir(root_dir):
file_path = os.path.join(root_dir, fname)
df = pd.read_csv(file_path)
col_found = False
if "colname" in df.columns:
col_found = True
df.to_excel(out_path)
if not col_found:
for n, row in enumerate(df.itertuples()):
row_found = False
for value in row:
if value == "colname":
row_found = True
df.to_excel(out_path)
if not row_found:
out_path2 = os.path.join(out_dir2, fname)
shutil.copy(file_path, out_path2)
【问题讨论】:
-
您是否在共享代码 sn-p 之前的任何地方声明
row_title_found?似乎我们不知道这段代码可能有什么价值。共享整个相关代码可能会有所帮助。 -
其实我的意思是row_found。
-
您可能希望以不同的方式测试
row_found的条件。您的代码在这种情况下才起作用是什么意思?您期望会发生什么,而您会得到什么?
标签: python python-3.x csv directory