我有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();
}
}
}
有什么想法吗?
答案 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)。