我有一个 CSV 文件,其中有一个名为“id”的列,我有一个包含文件的目录。我想根据“id”列下方单元格中的值重命名这些文件。
我有以下代码:
import pandas as pd
import os
path = os.chdir('/Users/Utilizador/pythonProjects/files')
df = pd.read_csv('/Users/Utilizador/pythonProjects/todos-cantar-palavras.csv', encoding='utf8')
i = 0
for file in os.listdir(path):
new_file_name = df['id']
os.rename(file, new_file_name)
i = i + 1
它返回以下错误:
类型错误:重命名:dst 应该是字符串、字节或 os.PathLike,而不是系列
我想这应该很容易,但因为我给出了第一步,所有的帮助都将不胜感激。
谢谢!
而不是 df['id'] 你需要写 df['id'].iloc[i] 因为 df['id'] 会给你一系列值,即整个列而不是单个值,这就是你得到错误的原因
import pandas as pd
import os
path = os.chdir('/Users/Utilizador/pythonProjects/files')
df = pd.read_csv('/Users/Utilizador/pythonProjects/todos-cantar-palavras.csv', encoding='utf8')
i = 0
for file in os.listdir(path):
new_file_name = df['id'].iloc[i]
os.rename(path+'/'+file, path+'/'+new_file_name)
i = i + 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句