Estou tentando importar um arquivo .csv usando pandas.read_csv()
, mas não quero importar a 2ª linha do arquivo de dados (a linha com índice = 1 para indexação 0).
Não consigo ver como não importá-lo porque os argumentos usados com o comando parecem ambíguos:
Do site do pandas:
skiprows
: semelhante a uma lista ou inteiroNúmeros de linhas a pular (indexados em 0) ou número de linhas a pular (int) no início do arquivo. "
Se eu inserir skiprows=1
os argumentos, como ele saberá se deve ignorar a primeira linha ou a linha com índice 1?
Respostas:
Você pode tentar:
fonte
[]
.from io import StringIO
pd.compat.StringIO
.Não tenho reputação para comentar ainda, mas quero adicionar a alko resposta para referência futura.
Dos documentos :
fonte
Tive o mesmo problema ao executar o skiprows ao ler o arquivo csv. Eu estava doando skip_rows = 1 isso não vai funcionar
Um exemplo simples dá uma ideia de como usar o skiprows ao ler o arquivo csv.
fonte
Todas essas respostas perdem um ponto importante - a enésima linha é a enésima linha no arquivo, e não a enésima linha no conjunto de dados. Tenho uma situação em que faço o download de alguns dados antiquados de medidores de fluxo do USGS. O cabeçalho do conjunto de dados é comentado com '#', a primeira linha depois disso são os rótulos, a seguir vem uma linha que descreve os tipos de data e, por último, os próprios dados. Nunca sei quantas linhas de comentário existem, mas sei quais são as primeiras linhas. Exemplo:
Seria bom se houvesse uma maneira de pular automaticamente a enésima linha, bem como a enésima linha.
Como observação, consegui corrigir meu problema com:
fonte
skip[1]
irá pular a segunda linha, não a primeira.fonte
Certifique-se também de que o seu arquivo seja realmente um arquivo CSV. Por exemplo, se você tinha um arquivo .xls e simplesmente alterou a extensão do arquivo para .csv, o arquivo não será importado e apresentará o erro acima. Para verificar se este é o seu problema, abra o arquivo no excel e provavelmente dirá:
"O formato do arquivo e a extensão de 'Filename.csv' não correspondem. O arquivo pode estar corrompido ou não é seguro. A menos que você confie na fonte, não o abra. Deseja abri-lo mesmo assim?"
Para corrigir o arquivo: abra o arquivo no Excel, clique em "Salvar como", escolha o formato de arquivo para salvar (use .cvs) e substitua o arquivo existente.
Este era o meu problema e corrigiu o erro para mim.
fonte