Python 向multiple.csv添加一个新列,并填充文件名

Python 向multiple.csv添加一个新列,并填充文件名,python,python-3.x,Python,Python 3.x,我是python新手,我有一个包含15个excel文件的文件夹,我正在尝试将每个文件中的一个特定列重命名为标准名称,例如,我在不同的文件中有一个名为“name,and server”的列,但它们包含相同的信息,因此我需要将它们重命名为标准名称,如“server name”而且我不知道如何开始为了简单起见,假设您当前的文件夹有一个名为文件夹的文件夹,其中所有15个excel文件都有以下名称file_1.xlsx、file_2.xlsx、…、file_15.xlsx 现在,您可以使用glob查找文件

我是python新手,我有一个包含15个excel文件的文件夹,我正在尝试将每个文件中的一个特定列重命名为标准名称,例如,我在不同的文件中有一个名为“name,and server”的列,但它们包含相同的信息,因此我需要将它们重命名为标准名称,如“server name”而且我不知道如何开始

为了简单起见,假设您当前的文件夹有一个名为
文件夹
的文件夹,其中所有15个excel文件都有以下名称
file_1.xlsx、file_2.xlsx、…、file_15.xlsx

现在,您可以使用
glob
查找文件路径,并使用
pandas
读取这些路径。安装熊猫为
pip安装熊猫xlrd

从全局导入全局
作为pd进口熊猫
#发现所有xlsx文件的路径
filenames=glob('folder/*.xlsx')
现在假设您想将列“name和server”重命名为“nameserver”

对于文件名中的文件名:
#读取每个文件
df=pd.read\u excel(文件名)
#重命名列名
df=df.rename(列={'name和server':'nameserver'})
#将重命名的文件另存为csv
df.to_csv(filename.split('.')[-2]+'.csv'))

如果列的位置在所有excel文件中都相同,则可以迭代所有15个excel文件,找到列的位置并直接替换文本

或者,您可以通过read_xls(或read_csv,具体取决于您的上下文)迭代所有文件,将它们作为数据帧读取并替换必要的列名,然后覆盖文件。下面是供您参考的参考语法


rename(columns={df.columns[1]:“your value”},inplace=True)

您可以使用pandas库来实现此目的。您可以在文件上循环,并使用“read_excel”方法将其放入数据框。稍后,您可以在您的代码中重命名它。Excel文件不是csv文件。您好,代码运行并生成csv文件,但与Excel文件同名,因此它不会重命名它们更新我的答案以修复错误。在更改列名后,我忘记分配相同的变量。您现在可以试试吗?现在有没有一种简单的方法可以在每个csv上添加一列csv文件名?您可以像加载excel文件一样加载csv文件,并执行以下操作
df[csvfilename]=[]
。这将在csv数据框中添加一个与文件名同名的空列。好的,我希望列名为'filename',列中的数据为文件名,例如,假设csv的名称为one.csv,因此我希望在每行中都有一个名为file name的列,但我正在寻找一种方法对特定文件夹中的所有csv自动执行