Openpyxl 인덱스별 워크시트에서 행을 가져오는 방법
Openpyxl과 python3.5를 사용하여 엑셀 워크시트에서 첨자를 사용하여 첫 번째 행을 가져오려고 했지만 오류가 발생했습니다.
# after getting filename
# after loading worksheet
# to get the first row of the worksheet
first_row = worksheet.rows[0]
# I get
Traceback (most recent call last):
File "<pyshell#54>", line 1, in <module>
first_row = phc_th_sheet.rows[1]
TypeError: 'generator' object is not subscriptable
첫 번째 행을 얻는 것과 관련하여, 저는 또한 first_row = 워크시트를 시도했습니다. (row=1) #과 first_row = workshot.rows[:1]
아무 것도 작동하지 않았습니다.제안 사항이 있거나 openpyxl에서는 이 기능을 사용할 수 없습니까?https://openpyxl.readthedocs.io/en/default/ 의 설명서를 찾아봤지만 행을 색인화하고 선택할 수 있을 정도로 도움이 되는 것을 발견하지 못했습니다.
저는 마침내 문서에서 답을 찾았습니다.
first_row = worksheet[1]
# worksheet[row_index_from_1]
이것은 저에게 효과가 있었습니다.
오류TypeError: 'generator' object is not subscriptable
인덱스를 사용하여 액세스하려는 생성기를 의미합니다. 생성기는 반복할 때 요소를 생성하므로 인덱스가 없는 생성기를 사용합니다.
쉽게 해결할 수 있으며 원하는 요소를 얻기 위해 목록에 캐스팅할 수 있습니다.
first_row = list(worksheet.rows)[0]
또는 행에 대해 반복적으로 생각합니다.
for row in worksheet.rows:
foo(row)
이는 둘 다 반복 가능하더라도 목록과 생성기가 상당히 다르게 동작할 수 있기 때문입니다. 여기서 더 잘 설명할 수 있습니다.
https://wiki.python.org/moin/Generators
https://docs.python.org/3/library/stdtypes.html#iterator-types
https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range
언급URL : https://stackoverflow.com/questions/40561670/openpyxl-how-to-get-row-from-worksheet-by-index
'source' 카테고리의 다른 글
WPF TextBox가 암호 문자를 사용하도록 만드는 방법은 무엇입니까? (0) | 2023.05.11 |
---|---|
목표-C에서 방법 스위블링의 위험은 무엇입니까? (0) | 2023.05.11 |
csv nodejs를 내보내는 방법 (0) | 2023.05.11 |
람다 식은 대리자 형식이 아니므로 'string' 형식으로 변환할 수 없습니다. (0) | 2023.05.11 |
이클립스에서는 다른 안드로이드 프로젝트에서 안드로이드 라이브러리 프로젝트를 참조할 수 없습니다. (0) | 2023.05.06 |