#python #pandas #import
Вопрос:
Я пытаюсь импортировать txt-файл в python и использую pandas.
Файл, который я пытаюсь импортировать, выглядит более или менее так:
Final Test Values
***************************
Date: Friday, 24 September
Version : Version 3.0(3)
ID L : 1937
ID P : 60
***************************
A ; B ; C ; D ; E ; F
-----------------------------------------------------------------
660 ; 25 ; 5.6478 ; 0.9381 ; 0.67 ; 8.00
661 ; 25 ; 6.2592 ; 0.6103 ; 0.52 ; 8.00
662 ; 25 ; 6.7193 ; 0.5644 ; 0.52 ; 8.00
663 ; 25 ; 4.3940 ; 1.0760 ; 0.54 ; 8.00
664 ; 25 ; 6.4188 ; 0.5507 ; 0.54 ; 8.00
665 ; 25 ; 6.5221 ; 0.5619 ; 0.00 ; 8.00
Ценности, которые меня действительно интересуют, — это только эта часть:
660 ; 25 ; 5.6478 ; 0.9381 ; 0.67 ; 8.00
661 ; 25 ; 6.2592 ; 0.6103 ; 0.52 ; 8.00
662 ; 25 ; 6.7193 ; 0.5644 ; 0.52 ; 8.00
663 ; 25 ; 4.3940 ; 1.0760 ; 0.54 ; 8.00
664 ; 25 ; 6.4188 ; 0.5507 ; 0.54 ; 8.00
665 ; 25 ; 6.5221 ; 0.5619 ; 0.00 ; 8.00
Дата, идентификатор L и идентификатор P могут каждый раз меняться.
Я выполнил весь код, вручную открыв файл txt и удалив все до 660, но это, очевидно, не лучший способ сделать это.
У кого-нибудь есть какие-нибудь предложения?
Спасибо!
Ответ №1:
Используйте skiprows
аргумент, чтобы игнорировать строки, которые вам не нужны:
data = StringIO("""Final Test Values
***************************
Date: Friday, 24 September
Version : Version 3.0(3)
ID L : 1937
ID P : 60
***************************
A ; B ; C ; D ; E ; F
-----------------------------------------------------------------
660 ; 25 ; 5.6478 ; 0.9381 ; 0.67 ; 8.00
661 ; 25 ; 6.2592 ; 0.6103 ; 0.52 ; 8.00
662 ; 25 ; 6.7193 ; 0.5644 ; 0.52 ; 8.00
663 ; 25 ; 4.3940 ; 1.0760 ; 0.54 ; 8.00
664 ; 25 ; 6.4188 ; 0.5507 ; 0.54 ; 8.00
665 ; 25 ; 6.5221 ; 0.5619 ; 0.00 ; 8.00
""")
df = pd.read_csv(data, sep=";", skiprows=[0,1,2,3,4,5,6,8])
A B C D E F
0 660 25 5.6478 0.9381 0.67 8.0
1 661 25 6.2592 0.6103 0.52 8.0
2 662 25 6.7193 0.5644 0.52 8.0
3 663 25 4.3940 1.0760 0.54 8.0
4 664 25 6.4188 0.5507 0.54 8.0
5 665 25 6.5221 0.5619 0.00 8.0
Комментарии:
1. Спасибо, это сработало!