홈>
작은 예처럼 보이는 텍스트 파일이 있습니다 :
작은 예 :
Name sample1 sample2 sample3
A2M 9805.6 3646.8 1376.48
ACVR1C 20 37.8 20
ADAM12 197.8 120.96 31.28
데이터를 재구성하고 예상 출력처럼 보이는 새 텍스트 파일을 만들려고합니다 :
예상 출력 :
Name Sample
A2M 9805.6
A2M 3646.8
A2M 1376.48
ACVR1C 20
ACVR1C 37.8
ACVR1C 20
ADAM12 197.8
ADAM12 120.96
ADAM12 31.28
사실 입력 데이터의 마지막 3 개 열이 출력 데이터의 두 번째 열에 포함되며 입력 파일의 첫 번째 열에있는 모든 항목이 3 번 반복됩니다 (이름 당 3 개의 샘플이 있음).
p>그렇게하기 위해 python3에 다음 코드를 작성했습니다.
def convert(input_file, output_file):
with open(input_file, 'r') as infile:
res = {}
line = infile.split()
res.keys = line[0]
res.values = line[2:]
outfile = open(output_file, "w")
for k, v in res.items():
outfile.write(str(k) + '\t'+ str(v) + '\n')
하지만 내가 원하는 것을 반환하지 않습니다. 문제를 해결하는 방법을 알고 있습니까?
- 답변 # 1
- 답변 # 2
이것을 시도해보세요
d= {} with open('file1.txt','r') as f: # Your file header = next(f) for i in f: d.setdefault(i.split()[0],[]).extend(i.split()[1:]) with open('nflie1.txt','w') as f: # New file f.write('Name Sample\n') for k,v in d.items(): for el in v: f.write('{} {}\n'.format(k,el))
출력 :
Name Sample A2M 9805.6 A2M 3646.8 A2M 1376.48 ACVR1C 20 ACVR1C 37.8 ACVR1C 20 ADAM12 197.8 ADAM12 120.96 ADAM12 31.28
관련 자료
- python - 텍스트 파일을 문자열 또는 목록으로 변환
- angular - Observable에서 올바른 데이터를 얻는 방법
- android - EditText 메뉴 항목의 텍스트를 어떻게 설정합니까?
- vuejs2 - Axios (vue-nuxt)에서 net 코어 API로 파일을 보낼 수 없습니다
- ruby - 파일에서 해시로 데이터를 구문 분석하는 방법
- c++ - 구분 기호가있는 텍스트 파일에서 읽기
- javascript - 버튼의 텍스트 변경
- javascript - CSV 파일 내에서 데이터 그룹화
- javascript - m3u8 파일의 경로 긁기
- Ruby로 JSON 파일에 데이터를 추가/추가하는 방법
- d - 데이터가 사라지는 특이한 경우
- java - 데이터를 합산하여 Firebase로 전송하는 방법은 무엇입니까?
- google analytics - reactga - 'set'api에서 생성 된 데이터를 얻는 방법
- bash - CSV 파일을 여러 줄로 된 텍스트 파일로 변환
- string - 같은 파일로 작성하는 방법 C ++
- reactjs - 반응에서 텍스트 파일을 읽는 방법
- javascript - _satellitepageBottom ()을 넣을 수 있습니까? JS 파일에?
- java - 내 데이터가 recyclerview에 표시되지 않는 이유는 무엇입니까?
- angular - json에서 API로 얻은 필드 필드에 Ag 그리드의 행 데이터를 매핑하는 방법은 무엇입니까?
- python - 이로부터 py 파일을 어떻게 얻습니까?
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
코드에 몇 가지 문제가 있습니다.
먼저
outfile
도 열어야합니다with
내 성명서. 둘째, dict 'skeys
그리고values
읽기 전용입니다. 그리고 마지막으로 불가능한 전체 파일을 분할하려고합니다. 모든 라인을 다음과 같이 반복하고 싶습니다 :형식을
csv
로 변경하는 것을 고려해야하지만 데이터 프레임으로 읽어보세요.