.CSV文件字典上的数据清理

时间:2019-01-02 03:44:11

标签: python database csv glob data-cleaning

我正在尝试找到一个不错的实现,可以从一组CSV文件中删除选定的列。我有一个CSV文件目录,我想从中收集时间序列数据,但只想要值和时间戳。我只想删除其他列,我也很好奇在将文件放在一起之后如何执行此类任务。到目前为止,我拥有的是这样的东西:

files = glob.glob("../dir/subdir/*.csv")
data = {os.path.basename(fname):pd.read_csv(fname) for fname in files}
for df in data:
     df.drop(columns = ['A', 'D'])

由于某些原因,该方法不起作用,但是如何实现我的目标?

1 个答案:

答案 0 :(得分:1)

假设您要保留列“ B”和“ C”。而且您只想按照最后一句话来清理数据,这意味着您只想完成工作,因此不需要专门使用Python,那么此命令行一类代码将为您创建一个新的.csv文件。第三列:

awk 'FNR == 1 {next} BEGIN {FS=","} {print $2","$3}' *.csv > new.csv

我假设您最终希望将一个完全串联的文件读入DataFrame,因此将其设置为从第二行开始读取每个.csv文件,因此,在制作标头之后,您将必须替换它。

抱歉,如果必须使用DataFrames完成操作,我在这里很陌生。