/ / pandas czytać csv ignore newline - python, pandy, biopython

pandy odczytują csv ignore newline - python, pandy, biopython

Mam zbiór danych (dla ludzi z Compbio, to jest FASTA), który jest usiany nowymi znakami, które nie działają jako separator danych.

Czy istnieje sposób, aby pandy ignorowały znaki nowej linii podczas importowania, używając dowolnej funkcji odczytu pand?

przykładowe dane:

> ERR899297.10000174 TGTAATATTGCCTGTAGCGGGAGTTGTTGTCTCAGGATCAGCATTATATATCACAATTGCATGAATCATCGTATTAATGC TATCAAGATCAGCCGATTCT

każdy wpis jest ograniczony przez „>” dane są podzielone według nowych linii (ograniczone, ale nie respektowane na całym świecie) z 80 znakami na linię)

Odpowiedzi:

0 dla odpowiedzi № 1

Musisz mieć inny znak, który powie pandom, kiedy rzeczywiście chcesz zmienić krotkę.

Tutaj na przykład tworzę plik, w którym nowa linia jest kodowana przez potok (|):

csv = """
col1,col2, col3, col4|
first_col_first_line,2nd_col_first_line,
3rd_col_first_line

de,4rd_col_first_line|
"""
with open("test.csv", "w") as f:
f.writelines(csv)

Następnie czytasz go za pomocą silnika C i precyzujesz rurę jako liniowy:

import pandas as pd
pd.read_csv("test.csv",lineterminator="|", engine="c")

co daje mi: wprowadź opis obrazu tutaj


0 dla odpowiedzi nr 2

Nie ma na to dobrego sposobu. Sam BioPython wydaje się wystarczający w porównaniu z rozwiązaniem hybrydowym polegającym na iteracji obiektu BioPython i wstawieniu do ramki danych