使用pandas dataframe合并CSV

时间:2016-09-06 12:38:03

标签: python csv pandas

我正在使用以下代码。我的所有CSV文件都具有统一的结构。形成数据框时,它在我的CSV中包含两列日期。

在结果数据框中,对于少数行,日期值在第一个日期列中,而对于其余数据,它将转到第二个日期列。

任何想法,为什么要为源CSV文件中的一列生成两列(日期列)。

all_data = pd.DataFrame()
for f in glob.glob("/Users/tcssig/Desktop/Files/*.csv"):
    df = pd.read_csv(f)
    all_data = all_data.append(df,ignore_index=True)

In [76]: all_data.columns
Out[76]: Index(['0', '0.1', 'Channel_ID', 'Date', 'Date ', 'Duration (HH:MM)','Episode #', 'Image', 'Language', 'Master House ID', 'Parental Rating','Program Category', 'Program Title', 'StartTime_ET', 'StartTime_ET2','Synopsis'],
 dtype='object')

1 个答案:

答案 0 :(得分:5)

因为第二列中有空格:

'Date', 'Date '
             ^

所以你需要在追加

之前规范化列
all_data = pd.DataFrame()
for f in glob.glob("/Users/tcssig/Desktop/Files/*.csv"):
    df = pd.read_csv(f)
    df.columns = df.columns.str.strip()
    all_data = all_data.append(df,ignore_index=True)

这里我使用str.strip删除任何前导和尾随空格