Python, 고유 한 내용을 3 개 열로 결합 (Excel 스프레드 시트)

마크 K

Good day. Excel 스프레드 시트에는 다음과 같은 구조의 데이터가 있습니다.

여기에 이미지 설명 입력

다음과 같은 형식으로 3 개의 열에 고유 한 값을 함께 넣고 싶었습니다.

Mike to America for Hotel; Meal

Kate to Europe; America for Transport

기타

나는 2 개의 열에 대해서만 운동 할 수 있습니다.

the_file = xlrd.open_workbook("testing.xlsx")
the_sheet = the_file.sheet_by_name("Sheet1")

products = defaultdict(list)

for row_index in range(1, the_sheet.nrows):
    products[str(the_sheet.cell(row_index, 0).value)].append(the_sheet.cell(row_index, 1).value) 

for product, v in products.items()
    print product + " to " + ";".join(set(v))

출력은 다음과 같습니다.

Mike to America
Hulk to America;Asia
Kate to Europe;America
Dave to Europe
Jack to Europe;America;Asia
Luci to Asia

3 개의 열에 대해 선이 함께 작동하도록하는 방법은 무엇입니까?
감사합니다.

스텝

그것을 수행하는 더 비단뱀적인 방법이 있다고 생각하지만 이것이 내가 생각해 낸 것입니다.

from collections import defaultdict


l = [
    ['mike', 'america', 'hotel'],
    ['mike', 'america', 'meal'],
    ['jack', 'america', 'meal'],
    ['jack', 'europe', 'hotel'],
    ['jack', 'america', 'bonus'],
    ['jack', 'asia', 'hotel'],
    ['dave', 'europe', 'meal'],
]

people = defaultdict(list)
people_places = defaultdict(list)

for row_index in range(len(l)):
    people[l[row_index][0]].append(l[row_index][1])
    people_places[l[row_index][0] + '|' + l[row_index][1]].append(l[row_index][2])

for p, k in people.items():
    activity = []
    for place in k:
        activity += people_places[p + '|' + place]
    print '{} to {} for {}'.format(
        p,
        ';'.join(set(k)),
        ';'.join(set(activity))
    )

코드를 번역하여 스프레드 시트 행과 셀을 직접 사용하거나 l다음과 같이 먼저 목록을 추출 할 수 있습니다.

l = []
with xlrd.open_workbook("testing.xlsx") as the_file:
    the_sheet = the_file.sheet_by_name("Sheet1")

    for row_index in range(1, the_sheet.nrows):
        l.append([
            the_sheet.cell(row_index, 0).value, 
            the_sheet.cell(row_index, 1).value, 
            the_sheet.cell(row_index, 2).value])

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

스프레드 시트의 두 열을 기준으로 고유 한 값의 수를 계산합니다.

분류에서Dev

Python을 사용하여 Google 스프레드 시트에서 고유 한 값으로 빈 셀 채우기

분류에서Dev

Excel에서 서로 다른 두 스프레드 시트의 열을 비교하고 결과를 세 번째 스프레드 시트에 배치

분류에서Dev

Google 스프레드 시트는 문자열 뒤에 고유 한 값을 나열합니다.

분류에서Dev

Azure Data Studio에서 생성 한 Excel 스프레드 시트는 셀 값을 텍스트로 표시합니다 (수식 실행 결과가 아님).

분류에서Dev

Python을 사용하여 Excel 스프레드 시트에서 맨 위 행을 제거하려고합니다.

분류에서Dev

두 개의 시계열 데이터 프레임을 연결하고 가능한 한 가깝게 타임 스탬프를 일치 시키려고합니다.

분류에서Dev

내 프로그램은 스프레드 시트를 Excel 파일로 변환합니다. 하지만 한 명의 사용자에게만 작동합니다.

분류에서Dev

Python : Pandas DataFrame을 Google 스프레드 시트로 내보내기 (해결됨)

분류에서Dev

Google 스프레드 시트는 Excel과 동일한 공식으로 다른 값을 계산합니다.

분류에서Dev

연결을 유지하는 Python gspread Google 스프레드 시트

분류에서Dev

행 무결성을 유지하면서 Excel 스프레드 시트의 열을 정렬 가능하게 만들려면 어떻게해야합니까?

분류에서Dev

Excel 스프레드 시트 결합

분류에서Dev

Google 스프레드 시트 조건부 서식은 한 열에 5 개 열의 특정 텍스트가 포함 된 경우 2 개 열을 강조합니다.

분류에서Dev

두 개의 Excel 스프레드 시트에서 데이터 결합

분류에서Dev

2 개의 텍스트 파일을 열고 하나로 결합

분류에서Dev

Google 스프레드 시트의 두 개의 개별 열을 단일 열로 병합

분류에서Dev

Google 스프레드 시트의 ImportXML 기능-적용된 필터에 대한 고유 한 결과 계산

분류에서Dev

Google 스프레드 시트의 ImportXML 기능-적용된 필터에 대한 고유 한 결과 계산

분류에서Dev

1 개 열을 기준으로 각 개인에 대한 고유 한 레코드를 선택합니다.

분류에서Dev

Google 스프레드 시트는 서로 다른 두 시트에서 고유 한 값을 얻습니다.

분류에서Dev

3 개의 테이블을 결합하여 모든 열의 고유 한 조합 생성

분류에서Dev

3 개의 분할 된 bash 스크립트 줄을 한 줄로 결합

분류에서Dev

Excel의 "Index-Match-Match"함수와 유사한 두 스프레드 시트를 병합하기위한 Python 코드

분류에서Dev

FPDF, FPDI-PHP를 사용하여 개별 파일을 고유 한 텍스트로 결합하려면 어떻게해야합니까?

분류에서Dev

두 개의 팬더 데이터 프레임을 동일한 열로 결합하고 동일한 인덱스로 행 병합

분류에서Dev

Python : 목록 이해력, 2 개의 목록을 고유 한 값으로 1 개로 결합

분류에서Dev

Google 스프레드 시트의 배열 수식을 사용한 롤링 합계

분류에서Dev

Delphi XE3에서 OLE를 사용하여 Excel 스프레드 시트를 PDF로 내보내기

Related 관련 기사

  1. 1

    스프레드 시트의 두 열을 기준으로 고유 한 값의 수를 계산합니다.

  2. 2

    Python을 사용하여 Google 스프레드 시트에서 고유 한 값으로 빈 셀 채우기

  3. 3

    Excel에서 서로 다른 두 스프레드 시트의 열을 비교하고 결과를 세 번째 스프레드 시트에 배치

  4. 4

    Google 스프레드 시트는 문자열 뒤에 고유 한 값을 나열합니다.

  5. 5

    Azure Data Studio에서 생성 한 Excel 스프레드 시트는 셀 값을 텍스트로 표시합니다 (수식 실행 결과가 아님).

  6. 6

    Python을 사용하여 Excel 스프레드 시트에서 맨 위 행을 제거하려고합니다.

  7. 7

    두 개의 시계열 데이터 프레임을 연결하고 가능한 한 가깝게 타임 스탬프를 일치 시키려고합니다.

  8. 8

    내 프로그램은 스프레드 시트를 Excel 파일로 변환합니다. 하지만 한 명의 사용자에게만 작동합니다.

  9. 9

    Python : Pandas DataFrame을 Google 스프레드 시트로 내보내기 (해결됨)

  10. 10

    Google 스프레드 시트는 Excel과 동일한 공식으로 다른 값을 계산합니다.

  11. 11

    연결을 유지하는 Python gspread Google 스프레드 시트

  12. 12

    행 무결성을 유지하면서 Excel 스프레드 시트의 열을 정렬 가능하게 만들려면 어떻게해야합니까?

  13. 13

    Excel 스프레드 시트 결합

  14. 14

    Google 스프레드 시트 조건부 서식은 한 열에 5 개 열의 특정 텍스트가 포함 된 경우 2 개 열을 강조합니다.

  15. 15

    두 개의 Excel 스프레드 시트에서 데이터 결합

  16. 16

    2 개의 텍스트 파일을 열고 하나로 결합

  17. 17

    Google 스프레드 시트의 두 개의 개별 열을 단일 열로 병합

  18. 18

    Google 스프레드 시트의 ImportXML 기능-적용된 필터에 대한 고유 한 결과 계산

  19. 19

    Google 스프레드 시트의 ImportXML 기능-적용된 필터에 대한 고유 한 결과 계산

  20. 20

    1 개 열을 기준으로 각 개인에 대한 고유 한 레코드를 선택합니다.

  21. 21

    Google 스프레드 시트는 서로 다른 두 시트에서 고유 한 값을 얻습니다.

  22. 22

    3 개의 테이블을 결합하여 모든 열의 고유 한 조합 생성

  23. 23

    3 개의 분할 된 bash 스크립트 줄을 한 줄로 결합

  24. 24

    Excel의 "Index-Match-Match"함수와 유사한 두 스프레드 시트를 병합하기위한 Python 코드

  25. 25

    FPDF, FPDI-PHP를 사용하여 개별 파일을 고유 한 텍스트로 결합하려면 어떻게해야합니까?

  26. 26

    두 개의 팬더 데이터 프레임을 동일한 열로 결합하고 동일한 인덱스로 행 병합

  27. 27

    Python : 목록 이해력, 2 개의 목록을 고유 한 값으로 1 개로 결합

  28. 28

    Google 스프레드 시트의 배열 수식을 사용한 롤링 합계

  29. 29

    Delphi XE3에서 OLE를 사용하여 Excel 스프레드 시트를 PDF로 내보내기

뜨겁다태그

보관