【发布时间】:2020-12-17 23:52:14
【问题描述】:
我是 python 的相对较新的用户,因此在以下方面苦苦挣扎。本质上,我试图将一堆文件从一个文件夹移动到另一个文件夹,并使用我构建的 pandas df 重命名它们 - states_mapping_df。我尝试使用 states_mapping_df = states_mapping_df.astype("string") 将 df 转换为字符串,但这没有帮助。
from shutil import copyfile
covid_src_dir = r"I:\COVID\COVID tracker\UserA\Hospitalizations"
covid_new_dir = r"I:\COVID\COVID tracker\Hospitalizations_images"
states_mapping_df = pd.DataFrame ({"Abbr" :['CA','FL','IL','NJ','NY','NC','OH','PA','TX','VA'],
"State_Name" :['California','Florida','Illinois','New Jersey','New York','North Caroliina','Ohio','Pennsylvania','Texas','Virginia']})
for row in states_mapping_df['Abbr']:
#oldname = states_mapping_df['Abbr']+'.png'
#newname = states_mapping_df['State_Name']+'.png'
oldpath_covid = covid_src_dir + "\\" + row +'.png'
newpath_covid = covid_new_dir + "\\" + states_mapping_df['State_Name'].astype('string') +'.png'
copyfile(oldpath_covid, newpath_covid)
运行时出现以下错误
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-260-40e52504bb33> in <module>
19 oldpath_covid = covid_src_dir + "\\" + row +'.png'
20 newpath_covid = covid_new_dir + "\\" + states_mapping_df['State_Name'].astype('string') +'.png'
---> 21 copyfile(oldpath_covid, newpath_covid)
22 #shutil.copy(oldpath_covid, newpath_covid)
~\Anaconda3\lib\shutil.py in copyfile(src, dst, follow_symlinks)
238 sys.audit("shutil.copyfile", src, dst)
239
--> 240 if _samefile(src, dst):
241 raise SameFileError("{!r} and {!r} are the same file".format(src, dst))
242
~\Anaconda3\lib\shutil.py in _samefile(src, dst)
215 if hasattr(os.path, 'samefile'):
216 try:
--> 217 return os.path.samefile(src, dst)
218 except OSError:
219 return False
~\Anaconda3\lib\genericpath.py in samefile(f1, f2)
99 """
100 s1 = os.stat(f1)
--> 101 s2 = os.stat(f2)
102 return samestat(s1, s2)
103
TypeError: stat: path should be string, bytes, os.PathLike or integer, not Series
【问题讨论】:
标签: python python-3.x pandas dataframe shutil