熊猫-在csv中添加虚拟标题列

时间:2018-11-02 09:03:54

标签: python-3.x pandas csv header

我正在尝试使用以下代码按客户组连接多个csv文件:

files = glob.glob(file_from + "/*.csv") <<-- Path where the csv resides
df_v0 = pd.concat([pd.read_csv(f) for f in files]) <<-- Dataframe that concat all csv files from files mentioned above

问题是csv中的列数因客户而异,并且它们没有头文件。

我试图查看是否可以添加带有诸如col_1,col_2等标签的阴沉的标题列,具体取决于该csv中的列数。

任何人都可以指导我如何完成此任务。谢谢。

有关尝试在数据框中搜索特定字符串的更新:

示例数据框

col_1,col_2,col_3
fruit,grape,green
fruit,watermelon,red
fruit,orange,orange
fruit,apple,red

尝试过滤出带有红色单词的行,并期望它返回第2行和第4行。

尝试以下代码:

df[~df.apply(lambda x: x.astype(str).str.contains('red')).any(axis=1)]

1 个答案:

答案 0 :(得分:1)

对默认范围列header=None0, 1, 2使用参数skiprows=1,如有必要,删除原始列名称:

df_v0 = pd.concat([pd.read_csv(f, header=None, skiprows=1) for f in files])

如果还希望更改列名称,请添加rename

dfs = [pd.read_csv(f, header=None, skiprows=1).rename(columns = lambda x: f'col_{x + 1}') 
        for f in files]
df_v0 = pd.concat(dfs)
相关问题