행 중 하나의 값을 기준으로 3 개의 개별 텍스트 파일로 세분화하려는 텍스트 파일이 있습니다. LineID가 1이면 해당 LineID가있는 모든 행을 별도의 배열 또는 별도의 텍스트 파일로 이동하고 싶습니다.
텍스트 파일 출력 :
Num LineID ColA ColB ColC
1 1 7 3.5 89.9
1 2 6.8 3.1 90.02
1 3 7.5 2.9 90
2 1 7.2 3.2 92
2 2 7.1 3.1 89.8
2 3 6.9 2.87 88
3 1 7.3 2.9 90
3 2 7.03 3.04 90
3 3 7.2 3 89.6
LineID 값을 기준으로 세 개의 개별 배열 또는 텍스트 파일로 분리하고 싶습니다.
LineID = 1의 첫 번째 배열
Num LineID ColA ColB ColC
1 1 7 3.5 89.9
2 1 7.2 3.2 92
3 1 7.3 2.9 90
LineID = 2에 대한 두 번째 배열
Num LineID ColA ColB ColC
1 2 6.8 3.1 90.02
2 2 7.1 3.1 89.8
3 2 7.03 3.0 4 90
LineID = 3의 세 번째 배열
Num LineID ColA ColB ColC
1 3 7.5 2.9 90
2 3 6.9 2.87 88
3 3 7.2 3 89.6
누구든지 파이썬 또는 Numpy / Pandas에서 이것을 수행하는 방법에 대한 포인터가 있습니까?
Ivan은 좋은 솔루션을 제공했지만 아직 모두 확인하지 않았으며 원래 배열 / 텍스트 파일에서 해당 줄의 원래 위치에 해당하는 각 줄의 시작 부분에 추가 번호를 추가 할뿐입니다. 나는 ','및 ''로 구분 된 csv 및 공백으로 구분 된 txt 파일을 모두 사용해 보았는데 동일한 방식으로 나옵니다.
Num LineID ColA ColB CoLC
0 1 1 7.0 3.5 89.9
3 2 1 7.2 3.2 92.0
6 3 1 7.3 2.9 90.0
Num LineID ColA ColB CoLC
1 1 2 6.80 3.10 90.02
4 2 2 7.10 3.10 89.80
7 3 2 7.03 3.04 90.00
Num LineID ColA ColB CoLC
2 1 3 7.5 2.90 90.0
5 2 3 6.9 2.87 88.0
8 3 3 7.2 3.00 89.6
이것은 도움이 될 것입니다. id1, id2 및 id3는 필요한 것을 가지고 있으며 나중에 각각 파일을 작성할 수 있습니다.
import pandas as pd
data = pd.read_csv('textfile.txt', sep=" ")
id1 = data[data['LineID'] == 1]
id2 = data[data['LineID'] == 2]
id3 = data[data['LineID'] == 3]
print(id1)
print(id2)
print(id3)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다