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 № 1Musisz 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")
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