将pandas数据框写入CSV文件并在for循环上重命名

时间:2019-06-28 05:20:42

标签: pandas python-2.7 csv

我有一个脚本,它将SQL db读取到一个pandas数据框,然后将其连接在一起以在循环中形成一个数据框。我需要将第二个数据帧写入一个csv文件,并从ID列表中重命名它

我正在使用pd.to_csv写入文件,并使用os.rename更改名称。

for X, df in d.iteritems():
    newdf = pd.concat(d)
    for X in newdf:
                export_csv = newdf.to_csv (r'/Users/uni/Desktop/corrindex+id/X.csv', index = False, header = None)
                for X in NAMES:
                    os.rename ('X.csv',X)

这是将数据帧连接在一起的代码。 在第三个循环中,NAMES ='rt35',但将来它将是类似名称的列表。

我希望得到一个名为rt35.csv的文件。但是我得到r.csv或X.csv并出现此错误:

OSError: [Errno 2] No such file or directory

文件写入正确,唯一的问题是名称。

1 个答案:

答案 0 :(得分:0)

在您的代码中,X变量位于字符串内,因此python将X视为字符而不是变量。您应该这样:

export_csv = newdf.to_csv (r'/Users/uni/Desktop/corrindex+id/{}.csv'.format(X), index = False, header = None)

与此处相同:

for X in NAMES:
    os.rename (X +'.csv',X)