我有一个脚本,它将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
文件写入正确,唯一的问题是名称。
答案 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)