我正在导入一个excel工作表,其中包含以下列名称:
N° Pedido
1234
6424
4563
列名称是一个特殊字符(°)。因此,我无法将其与另一个数据框合并或重命名该列。我没有得到任何错误消息只是名称保持不变。我该怎么办?
这是我正在使用的代码和Dataframes的结果:
import pandas as pd
import numpy as np
# Importando Planilhas
CRM = pd.ExcelFile(r'C:\Users\Michel\Desktop\Relatorio de
Vendas\relatorio_vendas_CRM.xlsx', encoding= 'utf-8')
protheus = pd.ExcelFile(r'C:\Users\Michel\Desktop\Relatorio de
Vendas\relatorio_vendas_protheus.xlsx', encoding= 'utf-8')
#transformando em Data Frame
df_crm = CRM.parse('190_pedido_export (33)')
df_protheus = protheus.parse('Relatorio de Pedido de Venda')]
# Transformando Campos em float o protheus
def turn_to_float(x):
return np.float(x)
df_protheus["TES"] = df_protheus["TES"].apply(turn_to_float)
df_protheus["Qtde"] = df_protheus["Qtde"].apply(turn_to_float)
df_protheus["Valor"] = df_protheus["Valor"].apply(turn_to_float)
#Tirando Tes de não venda do protheus
# tirando valores com código errado 6
df_protheus_1 = df_protheus[df_protheus.TES != 513.0]
df_protheus_2 = df_protheus_1[df_protheus_1.TES != 576.0]
**df_crm.columns = df_crm.columns.str.replace('N° Pedido', 'teste')
df_crm.columns**
Orçamento Origem N° Pedido Nº Pedido ERP Estabelecimento Tipo de
Pedido Classificação(Tipo) Aplicação Conta CNPJ/CPF Contato ...
Aprovação Parcial Antecipa Entrega Desconto da Tabela de Preço
Desconto do Cliente Desconto Informado Observações Observações NF Vl
Total Bruto Vl Total Completo
0 20619.0 23125 NaN Optitex 1 - Venda NaN Industrialização/Revenda
XAVIER E ARAUJO LTDA ME 7970626000170 NaN ... N N 0 0 0
请注意,我使用其他代码作为粗体部分,结果相同:
#renomeando tabela para dar Merge
#df_crm['proc'] = df_crm['N\xc2\xb0 Pedido']
#df_crm['N Pedido'] = df_crm['N° Pedido']
#df_crm.drop('N° Pedido',inplace=True,axis=1)
#df_crm
#df_crm['N Pedido'] = df_crm['N° Pedido']
#df.drop('N° Pedido',inplace=True,axis=1)
#df_crm
#df_crm_1 = df_crm.rename(columns={"N°Pedido": "teste"})
#df_crm_1
答案 0 :(得分:0)
我能够将值复制到另一列中。你可以试试
df['N Pedido'] = df['N° Pedido']
df.drop('N° Pedido',inplace=True,axis=1)
答案 1 :(得分:0)
感谢您发布Google表格的链接。我下载并通过pandas加载它:
df = pd.read_excel(r'~\relatorio_vendas_CRM.xlsx', encoding = 'utf-8')
df.columns = df.columns.str.replace('°', '')
df.columns = df.columns.str.replace('º', '')
请注意,两个replace
语句正在替换不同的字符,尽管它们看起来非常相似。
来自:Why do I get a SyntaxError for a Unicode escape in my file path?
的帮助答案 2 :(得分:0)
@user1922364 é de fato um comportamento muito estranho。 Acredito que tenha corrigido e superado o problema, todavia, apresentada pelo @Alex Zisman tá correta e funcional。 Como no outro exemplo oferecido por @Evan, o tratamento como string da coluna e sua correção tenha sido outra estratégia bem legal também。
无论如何,这是非常奇怪的行为。我相信现在您无论如何都解决了这样的问题,尽管@Alex Zisman 提出的解决方案是完全正确且实用的。顺便说一句,@Evan 提出的例子也很棒。