【问题标题】:How to rename columns with Pandas? Object has no attribute error when using rename如何用 Pandas 重命名列?使用重命名时对象没有属性错误
【发布时间】:2020-09-28 14:44:56
【问题描述】:

我正在尝试在 Python3 中编写一个简单的代码,它将所有 xls 文件放在一个文件夹中,将所有文本转换为大写,将所有文件合并为一个文件并保存为 xlsx 文件。这一切都有效。但是,我还想使用重命名来更改标题行的名称。我无法获取重命名任何内容的代码我收到以下错误消息:

data.rename(columns={'A 1': 'A1', AttributeError:“ExcelFile”对象没有属性“重命名”

有人帮忙吗?谢谢。

这是我目前的代码:

all_data = pd.DataFrame()
for f in glob.glob(r'C:\\Test\\*.xls'):
   df = pd.read_excel(f)
   df = df.applymap(lambda s:s.upper() if type(s) == str else s)
   all_data = all_data.append(df, ignore_index=True)
writer = pd.ExcelWriter(r'C:\\Test\\alldata.xlsx', engine='xlsxwriter')
all_data.to_excel(writer)
writer.save()
print("All data in upload folder combined into one file")
files = glob.glob(r'C:\\Test\\*.xls')
for f in files:
  os.remove(f)
data = pd.ExcelFile(r'C:\\Test\\alldata.xlsx')
data.rename(columns={'A 1': 'A1',
                'A 2': 'B1',
                'A 3: 'C1',
                }, inplace=True)
data.ExcelFile.save

【问题讨论】:

    标签: python-3.x pandas rename


    【解决方案1】:

    分别尝试 read_excelto_excel 代替 pd.ExcelFile 和 data.ExcelFile.save。在您上传的代码中,您还忘记了“A:3”之后的单引号。这是一个例子:

    all_data = pd.DataFrame()
    data = pd.read_excel('test.xlsx')
    data.rename(columns={'A 1': 'A1',
                    'A 2': 'B1',
                    'A 3': 'C1',
                    }, inplace=True)
    data.to_excel("output.xlsx") 
    

    【讨论】:

      猜你喜欢
      • 2017-01-12
      • 2011-11-10
      • 2014-04-15
      • 1970-01-01
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多