如何使用for循环将列标题列表添加到多个文件

时间:2016-03-07 22:11:39

标签: python pandas

我想创建一个for循环来命名多个文件中的列。所有文件都是.csv。在我命名我想要附加它们的文件之后。我想我下面有一个开头。

cur_node.next = &new_node

但是我收到以下错误:

import csv
import pandas as pd


df0 = pd.read_csv('/home/jayaramdas/anaconda3/df/s110_s_b') 
df1 = pd.read_csv('/home/jayaramdas/anaconda3/df/s111_s_b') 
df2 = pd.read_csv('/home/jayaramdas/anaconda3/df/s112_s_b') 
df3 = pd.read_csv('/home/jayaramdas/anaconda3/df/s113_s_b') 
file_list = ['df0', 'df1', 'df2', 'df3']

for file in file_list:

    file.columns = ['date', 'bill_id', 'sponsor_id']

    df0 = df0.append(df1)
    df0 = df0.append(df2)
    df0 = df0.append(df3)


print (df0)

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

import pandas as pd
import glob

df = pd.concat((pd.read_csv(f, names=['date','bill_id','sponsor_id']) for f in glob.glob('/home/jayaramdas/anaconda3/df/s11?_s_b')))

PS如果您的CSV文件相对较小,那么您可能希望将它们读入一个字符串,然后从该字符串中创建数据框。