无法使用pandas dataframe获取特定格式的数据

yhived7q  于 2023-05-05  发布在  其他
关注(0)|答案(1)|浏览(135)

我正试着用一张凌乱的床单工作。为了做到这一点,我使用pandas来提取数据并将其放入数据框中。我有两个问题:第一个是日期,它作为一个对象出现,并作为“[Timestamp('1977 -01-26 00:00:00')]”导出到Excel文件中。第二个是方括号,它在数据中。
以下是我获取数据的方式:

linha = 0

while 1>0:
    
    if pd.isna(dataframe.iloc[linha,1])==False: 
        cod_turma = dataframe.iloc[[linha],[0]].values[0]
        cod_curso = dataframe.iloc[[linha],[1]].values[0]
        linha = linha + 1
        
    else:
        matricula = dataframe.iloc[[linha],[0]].values[0]
        nome = dataframe.iloc[[linha],[2]].values[0]
        data = dataframe.iloc[[linha+1],[0]].values[0]
        telefone = dataframe.iloc[[linha+1],[2]].values[0]
        cep = dataframe.iloc[[linha+1],[6]].values[0]
        cidade = dataframe.iloc[[linha+2],[4]].values[0]
        estado = dataframe.iloc[[linha+2],[8]].values[0]
        situacaomatricula = dataframe.iloc[[linha+2],[0]].values[0]
        email = dataframe.iloc[[linha+3],[0]].values[0]
        #aluno = Aluno(cod_turma, cod_curso, matricula, nome, data, telefone, cep, cidade, estado, situacaomatricula, email)
        #aluno = [cod_turma, cod_curso, matricula, nome, data, telefone, cep, cidade, estado, situacaomatricula, email]
        #lista_alunos.append(aluno)
        df = df.append({'Cod_turma': cod_turma, 'Cod_curso': cod_curso, 'Matricula': matricula, 'Nome': nome, 'Data': data, 'Telefone': telefone, 'CEP': cep, 'Cidade': cidade, 'Estado': estado, 'Situacao': situacaomatricula, 'Email': email},
        ignore_index = True)
        linha = linha + 4
        
    if linha==254: #definir como última linha a parar de ler
        break;

图像显示了我在Excel文件中的输出。(https://i.stack.imgur.com/Ocrvr.png

xqnpmsa8

xqnpmsa81#

这将帮助您摆脱括号:

df = df.applymap(lambda x: x[0])

创建数据的代码:

import pandas as pd

df = pd.DataFrame(
    data=[
        ['042301IBR', 'D423', 100016571, 'ADAIR FERREIRA DOS SANTOS', pd.Timestamp(1977, 1, 26), 3899919, 3866000, 'Buritis', 'MG'],
        ['042301IBR', 'D423', 100017152, 'ALANA PEREIRA DA CUNHA', pd.Timestamp(1994, 12, 23), 3899929, 3866000, 'Buritis', 'MG'],
        ['042301IBR', 'D423', 100016641, 'ALINE PIRES SILVA', pd.Timestamp(1985, 4, 4), pd.NA, 386600, 'Buritis', 'MG'],
        ['042301IBR', 'D423', 100016882, 'ANA CAROLLVNE RURAES ALVES', pd.Timestamp(1999, 1, 18), 389987, 386600, 'Buritis', 'MG'],
        ['042301IBR', 'D423', 100016494, 'CRISTIANE ROSA DO AMARAL', pd.Timestamp(1988, 11, 7), 3899739, 3866000, 'Buritis', 'MG'],
        ['042301IBR', 'D423', 100016801, 'ELIANE ALVES DA SILVA', pd.Timestamp(1977, 8, 6), '(61)348', 3866000, 'Buritis', 'MG'],
        ['042301IBR', 'D423', 100017010, 'ELIANE LOURENCO VAZ RODRIGUES', pd.Timestamp(1974, 4, 19), 366215, 3866000, 'Buritis', 'MG'],
        ['042301IBR', 'D423', 100016740, 'ELMO LUCIANO RODRIGUES', pd.Timestamp(1990, 8, 8), 389997, 3866000, 'Buritis', 'MG'],
        ['042301IBR', 'D423', 100016926, 'EVA DA COSTA PINHEIRO', pd.Timestamp(1980, 3, 9), 3899930, 3866000, 'Buritis', 'MG'],
        ['042301IBR', 'D423', 100016920, 'JAYNE RODRIGUES DE OLIVEIRA', pd.Timestamp(1999, 3, 23), 389983, 3866000, 'Buritis', 'MG']
    ], 
    columns=['Cod_turma', 'Cod_curso', 'Matricula', 'Nome', 'Data', 'Telefone', 'CEP', 'Cidade', 'Estado'],
).applymap(lambda x: [x])

相关问题