我正在尝试使用以下代码按客户组连接多个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)]
答案 0 :(得分:1)
对默认范围列header=None
和0, 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)