为了账号安全,请及时绑定邮箱和手机立即绑定

将新列添加到多个 .csv 并使用文件名填充

将新列添加到多个 .csv 并使用文件名填充

www说 2022-07-26 10:49:35
我是 python 新手,我有一个包含 15 个 excel 文件的文件夹,我正在尝试将每个文件中的特定列重命名为标准名称,例如,我在不同文件上有一个名为“名称和服务器”的列,但它们需要相同的信息,所以我需要将它们重命名为标准名称,如“服务器名称”,但我不知道如何开始
查看完整描述

2 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

为简单起见,假设您当前的文件夹有一个名为的文件夹folder,所有这 15 个具有以下名称的 excel 文件file_1.xlsx, file_2.xlsx, ......, file_15.xlsx都位于该文件夹中。


现在您可以使用glob来发现文件路径并pandas读取这些路径。将熊猫安装为pip install pandas xlrd.


from glob import glob

import pandas as pd


# discover the path of all the xlsx files

filenames = glob('folder/*.xlsx')  

现在假设您要将列 'name, and server' 重命名为 'nameserver'


for filename in filenames:

    # read each of the file

    df = pd.read_excel(filename)


    # rename the column name

    df = df.rename(columns={'name, and server': 'nameserver'})


    # save the renamed files as csv

    df.to_csv(filename.split('.')[-2] + '.csv')


查看完整回答
反对 回复 2022-07-26
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

如果所有excel文件的列位置相同,则可以迭代所有15个excel文件,定位列位置,直接替换文本。

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

df.rename(columns={ df.columns[1]: "你的价值" }, inplace = True)


查看完整回答
反对 回复 2022-07-26
  • 2 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信