Python 无法将CSV文件合并到一个数据帧中

Python 无法将CSV文件合并到一个数据帧中,python,csv,pandas,Python,Csv,Pandas,我正在使用ipython笔记本电脑,努力将208个CSV文件合并到一个数据帧中。(我的文件名是Customer_1.csv、Customer_2.csv、、和Customer_208.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 = ['

我正在使用ipython笔记本电脑,努力将208个CSV文件合并到一个数据帧中。(我的文件名是Customer_1.csv、Customer_2.csv、、和Customer_208.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)

您需要格式化文件名:

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)

您当然不能指望Python会神奇地决定在字符串文本“data_tv1/Customer_i.csv”中替换“i”!看看下面Alexander的建议,有一个选择。反应不错!建议:请更新您的回复以容纳“Energy_i”。谢谢。我没看到,谢谢你,亚历山大!但是我犯了一个错误。。我把它贴在另一个问题上。:)