【问题标题】:python - Change one-row table valuepython - 更改单行表值
【发布时间】:2021-07-19 14:32:48
【问题描述】:

我正在为表格开发脚本。我有一个问题,表格带有十进制值,我正在尝试在代码中更改这些值。

要做到这一点,只需将十进制值乘以 1000,但有一个我真的无法理解的问题。它可以工作到一定数量,然后是一些的值 表的行发生变化,最后的结果具有巨大的价值。不知道怎么回事,谁能帮帮我。

把函数的整个代码放上去

def DESTINOS_CLUBE_CLIENTE_MOD072():
    # Caminho do arquivo xlsx  # Sheet_name Nome da tabela ou planilha. Obs: Tem que ser EXATAMENTE como está escrito no excel.
    table = pd.read_excel('./planilha.xlsx', sheet_name='LP')
    oneCard = ""

    # Remoção de linhas que não contém valores   
    for i in range(table.shape[0]):
        if pd.isna(table[1][i]) == True:
            table = table.drop(labels=i, axis=0) 
    
    table.reset_index(inplace=True, drop=True)
    
    # Criar nova tabela
    table2 = pd.DataFrame(table)
    # Resetar o index da nova tabela
    table2.reset_index(inplace=True, drop=True)

    for i in range(8):
        print(table2[1][i])
        valor2 = int(table2[1][i] * 1000)
        table2[1] = table2[1].replace(table2[1][i], valor2)
        print("------")


    # table2 = table2.astype({1 : 'int32'})
    # table2 = table2.astype({'1.1': 'int32'})
    print(table2)
    
    # Pegando os valores da tabela e inserindo em seus determinados campos 
    for i in range(table2.shape[0]):
        values = 'element{}.querySelector("{}").value="{}"; element{}.querySelector("{}").value="{}"; element{}.querySelector("{}").value="{}"; element{}.querySelector("{}").value="{}"; element{}.querySelector("{}").value="{}";' . format(i, "input[name*='Origem']", table2['ORIGEM'][i], i, "input[name*='Destino']", table2['DESTINOS'][i], i, "input[name*='Clube_valor']", table2[1][i], i, "input[name*='Geral_valor']", table2['1.1'][i], i, "input[name*='Link_botao']", table2['LINKS'][i])
        oneCard += " let element"+str(i)+" = document.querySelectorAll('[data-fieldname=Itens]')"+str([i])+"; setTimeout(()=>{"+values+"},10000);"

    # Código completo
    cod = "let totalElements = document.querySelectorAll('[data-fieldname=Itens]').length == "+str(table2.shape[0])+" ? 0 : "+str(table2.shape[0])+" - document.querySelectorAll('[data-fieldname=Itens]').length; let element = document.querySelector('[data-fieldname=Itens]'); for(i = 0; i < totalElements; i++){element.children[13].click()} setTimeout(() => {"+oneCard+"}, 10000); setTimeout(() => {console.log('Pronto, pode publicar!')}, 20050);"

    # Inserir o código dentro de um arquivo de texto
    file(cod)
    # Mensagem de sucesso
    message()

DESTINOS_CLUBE_CLIENTE_MOD072()

【问题讨论】:

  • 您能展示一下您的数据是什么样的吗?
  • 准备好了,我换人了

标签: python python-3.x excel pandas


【解决方案1】:

问题是我只是传递值,所以它从表中获取了所有相等的值。所以我使用loc,来选择行

for i in range(table2.shape[0]):
        valor2 = int(table2[1][i] * 1000)
        table2.loc[i] = table2.loc[i].replace(table2.loc[i][1], valor2)

【讨论】:

    猜你喜欢
    • 2011-03-20
    • 2020-11-23
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多