追加两个csv文件时如何修复pandas concat

时间:2019-04-18 11:35:46

标签: python pandas csv concat

我正在尝试将两个具有相同结构的csv文件合并到一个合并的csv文件中,但是当我这样做时,列以不同的顺序重新排列,并且我缺少其中一个的数据csv个文件。

我已经检查了两个文件,以确保它们的列彼此一致,但是当我执行代码时,我的csv文件(变量b)中的一个似乎丢失了“ Social Care DTOC床”中的数据。柱。执行代码后,我也收到此消息:

“ FutureWarning:排序是因为未串联的轴未对齐。默认情况下,熊猫的未来版本将更改为不排序。要接受将来的行为,请传递'sort=True'。要保留当前行为并保持沉默警告,通过sort=False

a=pd.read_csv('https://www.england.nhs.uk/statistics/wp-content/uploads/sites/2/2019/04/MSitDT-FEBRUARY-2019-full-extract-for-publication-td5dtd.csv')

b = pd.read_csv('https://www.england.nhs.uk/statistics/wp-content/uploads/sites/2/2019/03/MSitDT-JANUARY-2019-full-extract-for-publication-5tsrt.csv')

out_put=pd.concat([a,b])

out_put.to_csv( "result.csv", encoding='utf-8-sig')

我期望一个csv文件,其中合并的行以相同的列顺序排列,并且其中任何一个都不丢失数据。

1 个答案:

答案 0 :(得分:2)

列标题之间存在大小写不匹配的情况。 "Social Care DTOC Beds""Social Care DTOC beds"-注意“床”中的小写字母“ b”。

简单的解决方法是使用str.title(如果愿意,可以使用str.lower / str.upper)来标准化这些列标题:

a=pd.read_csv('https://www.england.nhs.uk/statistics/wp-content/uploads/sites/2/2019/04/MSitDT-FEBRUARY-2019-full-extract-for-publication-td5dtd.csv')

b = pd.read_csv('https://www.england.nhs.uk/statistics/wp-content/uploads/sites/2/2019/03/MSitDT-JANUARY-2019-full-extract-for-publication-5tsrt.csv')

a.columns = a.columns.str.title()
b.columns = b.columns.str.title()

out_put = pd.concat([a, b])[a.columns]