我试着用舒蒂尔。快走但错误如下:
Traceback (most recent call last):
File "packageTest.py", line 202, in <module>
writeResult()
File "packageTest.py", line 92, in writeResult
shutil.move(tempfile,'report.csv')
File "/usr/local/lib/python2.7/shutil.py", line 294, in move
os.rename(src, real_dst)
TypeError: coercing to Unicode: need string or buffer, instance found
我是python新手,不知道这里面有什么问题。有人能帮我吗?我甚至检查了是否要打开文件两次,但事实并非如此。在
^{pr2}$编辑:以下代码仍然有效:
tempfile=NamedTemporaryFile(delete=False)
with open('dict.csv','rb') as infile,tempfile:
csvreader=csv.DictReader(infile)
fieldnames=csvreader.fieldnames
csvwriter=csv.DictWriter(tempfile,fieldnames)
csvwriter.writeheader()
for node,row in enumerate(csvreader,1):
if(row['EmpId']=='119093'):
csvwriter.writerow(dict(row,Rank='1'))
if(row['EmpId']=='119094'):
csvwriter.writerow(dict(row,Rank='2'))
shutil.move(tempfile.name,'dict.csv')
shutil.move()
接受两个文件名,而不是一个类似文件和一个文件名。如果要将文件的内容复制到文件名中,请以写入模式打开文件名并使用shutil.copyfileobj()
。在相关问题 更多 >
编程相关推荐