열이있는 텍스트 파일을 CSV로 변환

Tejas

나는 텍스트 파일을 csv 파일로 변환하고 싶습니다. 이름, 날짜, 설명 Im new to python 그래서 누군가가 이것에 대해 나를 안내 할 수있는 적절한 방법을 얻지 못했습니다. 아래는 샘플 텍스트 파일입니다.

================================================== ====
Title: Whole case
Location: oyuri
From: Aki 
Date: 2018/11/30 (Friday) 11:55:29
================================================== =====
1: Aki 
2018/12/05 (Wed) 17:33:17
An approval notice has been sent.
-------------------------------------------------- ------------------
2: Aki
2018/12/06 (Thursday) 17:14:30
I was notified by Mr. Id, the agent of the other party.

-------------------------------------------------- ------------------
3: kano, etc.
2018/12/07 (Friday) 11:44:45
Please call rito.
-------------------------------------------------- ------------------
페리스
  1. 행이 msg sep 행을 포함하는 것을 찾습니다. 예 : '-----', '======'
  2. 그런 다음 np.where(cond, 1, 0).cumsum()모든 개별 메시지에 태그를 지정 하는 사용하십시오 .
  3. '-----'또는 '======'없이 행 필터링
  4. groupby 태그를 지정하고 sep '\ n'으로 조인 한 다음 str.split을 사용하여 열을 확장합니다.
# read the file with only one col
df = pd.read_csv(file, sep='\n', header=None)

# located the row contains ------ or ======
cond = df[0].str.contains('-----|======')
df['tag'] = np.where(cond, 1, 0).cumsum()

# filter the line contains msg
cond2 = df['tag'] >=2
dfn = df[(~cond & cond2)].copy()

# output
df_output = (dfn.groupby('tag')[0]
            .apply('\n'.join)
            .str.split('\n', n=2, expand=True))
df_output.columns = ['name', 'date', 'Description']

산출:

              name                            date  \
tag                                                  
2.0        1: Aki        2018/12/05 (Wed) 17:33:17   
3.0         2: Aki  2018/12/06 (Thursday) 17:14:30   
4.0  3: kano, etc.    2018/12/07 (Friday) 11:44:45   

                                           Description  
tag                                                     
2.0                  An approval notice has been sent.  
3.0  I was notified by Mr. Id, the agent of the oth...  
4.0                                  Please call rito.  

df :

                                                    0  tag
0   ==============================================...    1
1                                   Title: Whole case    1
2                                     Location: oyuri    1
3                                          From: Aki     1
4                  Date: 2018/11/30 (Friday) 11:55:29    1
5   ==============================================...    2
6                                             1: Aki     2
7                           2018/12/05 (Wed) 17:33:17    2
8                   An approval notice has been sent.    2
9   ----------------------------------------------...    3
10                                             2: Aki    3
11                     2018/12/06 (Thursday) 17:14:30    3
12  I was notified by Mr. Id, the agent of the oth...    3
13  ----------------------------------------------...    4
14                                      3: kano, etc.    4
15                       2018/12/07 (Friday) 11:44:45    4
16                                  Please call rito.    4
17  ----------------------------------------------...    5

계속해서 이름을 처리 할 수 ​​있습니다.

obj = df_output['name'].str.strip().str.split(':\s*')
df_output['name'] = obj.str[-1]
df_output['idx'] = obj.str[0]
df_output = df_output.set_index('idx')
           name                            date  \
idx                                               
1           Aki       2018/12/05 (Wed) 17:33:17   
2           Aki  2018/12/06 (Thursday) 17:14:30   
3    kano, etc.    2018/12/07 (Friday) 11:44:45   

                                           Description  
idx                                                     
1                    An approval notice has been sent.  
2    I was notified by Mr. Id, the agent of the oth...  
3                                    Please call rito.

더 많은 헤더 열 추가 :

cond = (df['tag'] == 1) & (df[0].str.contains(':'))
header_dict = dict(df.loc[cond, 0].str.split(': ', n=1).values)

    # {'Title': 'Whole case',
    #  'Location': 'oyuri',
    #  'From': 'Aki ',
    #  'Date': '2018/11/30 (Friday) 11:55:29'}

for k,v in header_dict.items():
    df_output[k] = v

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

중첩 된 사전이있는 텍스트 파일을 읽고 csv로 변환

분류에서Dev

3 열 텍스트 파일을 파이썬에서 csv로 변환?

분류에서Dev

비트 텍스트 파일을 이진 파일로 변환

분류에서Dev

비트 텍스트 파일을 이진 파일로 변환

분류에서Dev

Python : 텍스트 파일을 이진 파일로 변환

분류에서Dev

이진 파일을 C에서 텍스트 파일로 변환

분류에서Dev

Pandas는 줄 바꿈을 제거하고 텍스트 파일을 CSV로 변환

분류에서Dev

Bash를 사용하여 텍스트 파일을 CSV로 변환하는 방법

분류에서Dev

텍스트 파일을 csv로 변환하고 저장하는 방법

분류에서Dev

텍스트 파일을 읽고 문자열을 float로 변환

분류에서Dev

텍스트 파일을 CSV 파일로 변환

분류에서Dev

숫자가있는 텍스트 파일을 이진으로 변환

분류에서Dev

2 개의 목록을 2 열 텍스트 파일로 변환

분류에서Dev

PHP에서 텍스트 파일 입력을 배열로 변환

분류에서Dev

텍스트 파일을 그림으로 변환하는 방법

분류에서Dev

PHYLIP 텍스트 파일을 PNG 이미지로 변환

분류에서Dev

텍스트 파일을 데이터 프레임 R로 변환

분류에서Dev

분해 된 텍스트 파일을 테이블로 변환

분류에서Dev

텍스트 열을 CSV로 변환하는 방법

분류에서Dev

파이썬에서 텍스트 파일을 tiff 파일로 변환

분류에서Dev

일반 텍스트가있는 문자열을 16 진 스타일의 바이트 배열로 변환?

분류에서Dev

Windows 텍스트 파일을 Ubuntu 텍스트 파일로 변환

분류에서Dev

Windows 텍스트 파일을 Ubuntu 텍스트 파일로 변환

분류에서Dev

여러 줄 텍스트 파일을 파이썬 문자열로 변환

분류에서Dev

텍스트 파일을 C의 바이너리 파일로 변환

분류에서Dev

XML을 텍스트 (csv 파일)로 변환 속성 별 정렬

분류에서Dev

구분 기호가없고 100 개 이상의 열이있는 4GB 고정 열 너비 텍스트 파일을 잘린 탭 구분 파일로 변환

분류에서Dev

텍스트 파일을 int 배열 목록으로 변환하는 방법

분류에서Dev

DBF 파일에서 텍스트 열을 숫자로 변환하는 방법

Related 관련 기사

  1. 1

    중첩 된 사전이있는 텍스트 파일을 읽고 csv로 변환

  2. 2

    3 열 텍스트 파일을 파이썬에서 csv로 변환?

  3. 3

    비트 텍스트 파일을 이진 파일로 변환

  4. 4

    비트 텍스트 파일을 이진 파일로 변환

  5. 5

    Python : 텍스트 파일을 이진 파일로 변환

  6. 6

    이진 파일을 C에서 텍스트 파일로 변환

  7. 7

    Pandas는 줄 바꿈을 제거하고 텍스트 파일을 CSV로 변환

  8. 8

    Bash를 사용하여 텍스트 파일을 CSV로 변환하는 방법

  9. 9

    텍스트 파일을 csv로 변환하고 저장하는 방법

  10. 10

    텍스트 파일을 읽고 문자열을 float로 변환

  11. 11

    텍스트 파일을 CSV 파일로 변환

  12. 12

    숫자가있는 텍스트 파일을 이진으로 변환

  13. 13

    2 개의 목록을 2 열 텍스트 파일로 변환

  14. 14

    PHP에서 텍스트 파일 입력을 배열로 변환

  15. 15

    텍스트 파일을 그림으로 변환하는 방법

  16. 16

    PHYLIP 텍스트 파일을 PNG 이미지로 변환

  17. 17

    텍스트 파일을 데이터 프레임 R로 변환

  18. 18

    분해 된 텍스트 파일을 테이블로 변환

  19. 19

    텍스트 열을 CSV로 변환하는 방법

  20. 20

    파이썬에서 텍스트 파일을 tiff 파일로 변환

  21. 21

    일반 텍스트가있는 문자열을 16 진 스타일의 바이트 배열로 변환?

  22. 22

    Windows 텍스트 파일을 Ubuntu 텍스트 파일로 변환

  23. 23

    Windows 텍스트 파일을 Ubuntu 텍스트 파일로 변환

  24. 24

    여러 줄 텍스트 파일을 파이썬 문자열로 변환

  25. 25

    텍스트 파일을 C의 바이너리 파일로 변환

  26. 26

    XML을 텍스트 (csv 파일)로 변환 속성 별 정렬

  27. 27

    구분 기호가없고 100 개 이상의 열이있는 4GB 고정 열 너비 텍스트 파일을 잘린 탭 구분 파일로 변환

  28. 28

    텍스트 파일을 int 배열 목록으로 변환하는 방법

  29. 29

    DBF 파일에서 텍스트 열을 숫자로 변환하는 방법

뜨겁다태그

보관