/Invoice List/
Invoice1folder/
..._Invoice.csv
Invoice2folder/
..._Invoice.csv
Invoice5folder/
..._Invoice.csv
Invoice9folder/
_Invoice.csv
"_Invoice.csv" "_Invoice_Reduced.csv"
A B C D => A C
1 2 3 4 => 1 3
import pandas as pd
import os
columns_to_keep = ['A','C']
final_form= pd.DataFrame()
for file in os.listdir():
if file.endswith('*_Invoice.csv'):
df = pd.read_csv(file)
df = df.loc[;columns_to_keep]
df = df.to_csv(f'{file.name}_Invoice_Reduced.csv')
if file.endswith('*_Invoice_Reduced.csv'):
df = pd.read_csv(file)
final_form= final_form.append(df, ignore_index=True)
有什么想法吗?
这就可以完成任务了。
而不是打开,移除列,保存并继续移动;我选择只打开缩减的列,保存这个缩减的数据表,然后追加到df
。这将导致所有缩减的文件都堆叠在这个数据目录中。
使用path=“.”
从当前目录
from pathlib import Path
import pandas as pd
df = pd.DataFrame()
columns_to_keep = ['A','C']
path = "."
pattern = "*_Invoice.csv"
for file in Path(path).rglob(pattern):
output_file = "{}/{}{}".format(file.parent, file.stem, "_Reduced.csv")
_df = pd.read_csv(file, usecols=columns_to_keep)
_df.to_csv(output_file, sep=",", index=False, header=True)
df = pd.concat([df, _df])
问题内容: 如何使用pathlib递归遍历给定目录的所有子目录? 似乎只迭代给定目录的直接子级。 我知道这可以通过或使用,但是我想使用pathlib,因为我喜欢使用path对象。 问题答案: 您可以使用对象的方法:
问题内容: 我想通过SSH递归下载目录,目录内容未知,并且一直在尝试Paramiko。我已经看到了几个如何上传目录的示例,但没有一个涉及递归下载。 我可以列出目录中的所有项目,但无法找到一种方法来知道该项目是文件(下载)还是目录(递归调用)。 那么我怎么知道一个项目是文件还是目录? 问题答案: …假设是开放的Paramiko SFTP连接。
我必须从来自excel的输入数据做第一级标准化。【输入Excel】【1】。 现在输出应类似于[输出文件][2]。我曾尝试将MEL(将方法定义为全局配置)与Dataweave结合使用。在dataweave内部,我尝试调用上面定义的方法作为全局配置。由于生成的文件为空,因此此方法不起作用。有人能提出一个更好的方法或这个方法中的问题吗。下面是代码@Manik:
本文向大家介绍Regular Expressions 递归到子模式,包括了Regular Expressions 递归到子模式的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用以下构造(取决于风味)将其递归到子模式中,假设n是捕获组号和捕获组name的名称。 (?n) \g<n> \g'0' (?&name) \g<name> \g'name' (?P>name) 以下模式: 将匹配以下文
如果我有一个像这样的gradle多项目 每个项目都有一个任务'foo',我可以在root项目上调用它 它还可以为子项目执行 但如果我从子项目调用task“:foo” 仅执行根项目上的任务 但不是子项目上的“foo”任务。 在子项目中,是否有方法对所有项目调用“foo”?我这样问是因为我使用的是gradle eclipse插件,在那里我只能访问子项目,即我在eclipse中看到的项目。 顺便说一句:
我试图阶段一个项目从工作目录到服务器(同一台机器)。使用以下代码: 我希望看到所有的文件都被复制。但是,它使目录结构扁平化-所有目录都被复制,但每个文件都放在根目录中 Gulp看起来是一个很好的构建工具,但是复制项目应该是一个简单的过程吗?