如何将几个csv合并到一个数据帧中

时间:2018-04-30 18:27:40

标签: python pandas dataframe

我有6个具有相同标题的csv文件。我试图删除索引0并将它们合并为一个数据帧。我一直遇到的一个问题是我似乎只访问了glob中的最后一个文件。

public class UserDetail extends Activity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_userdetail);

        if(getIntent().hasExtra("userdetail")){
            User user = getIntent().getParcelableExtra("userdetail");
            Toast.makeText(UserDetail.this,""+user.getName(),Toast.LENGTH_LONG).show();
        }
    }
}

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

import glob
import pandas as pd

dfs = []
for file in glob.glob("*.csv"):
    dfs.append(pd.read_csv(file))
pd.concat(dfs)

甚至在一行中:

pd.concat([pd.read_csv(file) for file in glob.glob("*.csv")])

pandas具有读取单个.csv文件的功能。因此,我建议在循环中使用pd.read_csv(filename)(请参阅here了解详细信息)为每个csv文件生成DataFrame。您可以将所有DataFrames附加到列表中。

完成循环后,您可以concat使用DataFrames pd.concat([df1, df2, ...])传递该列表(有关详细信息,请参阅here)。