我正在以格式附加csv文件

时间:2018-02-26 10:25:35

标签: python pandas csv

我使用这种格式的python从路径中追加多个csv文件

A  B  C  date
2  3  4  20180213
5  6  7  20170213

A  B  C  date
3  4  9  20170210
3  2  1  20180211

我使用的代码是:

import os 
import datetime 
import glob 
import pandas as pd 
import csv 

yyyymmdd = (dt.date.today()-timedelta(days=1)).strftime('%Y%m%d') 

for filename in glob.glob(os.path.join("/xyz/abc/*/*.csv")):
    df2=pd.read_csv(filename).assign(date=yyyymmdd)
    df2 = df2.append(df2, ignore_index=True)
    df2=df2.drop_duplicates()
    print(df2)

我得到的结果是:

A  B  C  date
2  3  4  20180213
5  6  7  20170213
A  B  C  date
3  4  9  20170210
3  2  1  20180211

即。 标题重复。而我希望它的格式为:

A  B  C  date
2  3  4  20180213
5  6  7  20170213
3  4  9  20170210
3  2  1  20180211

2 个答案:

答案 0 :(得分:0)

查看header函数hereread_csv参数,我的建议是使用header=None跳过标题,但第一个文件除外。

答案 1 :(得分:0)

考虑构建数据框的列表或字典,然后使用pandas.concat将所有列表项连接在一起,不会出现标题问题:

...
df_list = []

for filename in glob.glob(os.path.join("/xyz/abc/*/*.csv")):
    tmp = pd.read_csv(filename).assign(new_date=yyyymmdd)
    df_list.append(tmp)        # LIST APPEND
    print(tmp)

final_df = pd.concat(df_list, ignore_index=True).drop_duplicates()