2015-09-14 48 views
1

我正在使用ipython笔记本并努力将208个CSV文件合并到一个数据框中。 (我的文件名是Customer_1.csv,Customer_2.csv ,,,和Customer_208.csv)无法将CSV文件合并到一个数据帧

以下是我的代码,

#import module 
%matplotlib inline 
import pandas as pd 

for i in range (1, 209): 
    df_i = pd.read_csv('data_TVV1/Customer_i.csv', names = ['Time', 'Energy_i'], parse_dates=['Time'], index_col=['Time'], skiprows=1) 
    df_merged = pd.concat([df_merged, df_i],axis=1) 

但我得到了一个错误。 它说,

IOError: File data_TVV1/Customer_i.csv does not exist 

为了避免这种错误,我必须每天写文件名..喜欢,

df_1 = pd.read_csv('data_TVV1/Customer_1.csv', names = ['Time', 'Energy_1'], parse_dates=['Time'], index_col=['Time'], skiprows=1) 
df_2 = pd.read_csv('data_TVV1/Customer_2.csv', names = ['Time', 'Energy_2'], parse_dates=['Time'], index_col=['Time'], skiprows=1) 
... 
df_208 = pd.read_csv('data_TVV1/Customer_208.csv', names = ['Time', 'Energy_208'], parse_dates=['Time'], index_col=['Time'], skiprows=1) 
+0

你当然不能指望Python神奇地决定在字符串文字“'data_TVV1/Customer_i.csv'”中替换“i”!看看亚历山大的建议,下面有一个选择。 – paulsm4

回答

1

您需要格式化您的文件名:

df_i = pd.read_csv('data_TVV1/Customer_{0}.csv'.format(i), names = ['Time', 'Energy_{0}'.format(i)], parse_dates=['Time'], index_col=['Time'], skiprows=1) 

另外,为了提高效率,我会推荐以下结构:

df_merged = pd.concat([pd.read_csv(...) for i in range(1, 209)], axis=1) 
+0

良好的回应!建议:请更新您的回复以容纳“Energy_i”。 – paulsm4

+0

谢谢。我没有看到。 – Alexander

+0

谢谢亚历山大〜 –

相关问题