2017-12-27 18 views
0

내가 코드파이썬

import xlrd 

input= raw_input("put in the path name for file") 
book=xlrd.open_workbook(input) 
print book.nsheets 
print book.sheet_names() 

ws=book.sheet_by_index(0) 
for rows in range(0,14): 
    data= ws.row_values(rows) 
    print data 

내가지고있어 답을 사용하여 엑셀 시트 에서 데이터를 읽기 위해 노력하고있어에서 null 값을 건너 뛰는이

[u'', u'', u'', u'', u'RS2 WW10 BKC', u'', u'RS2 WW23.2 BKC', u''] 
[u'Slno', u'Title', u'Platform Target(W)', u'SoC Target (mW)', u'Platform Power(
W)', u'SoC Power (W)', u'Platform Power(W)', u'SoC Power (W)'] 
[u'', u'', u'', u'', u'', u'', u'', u''] 
[1.0, u'Display Idle', 4766.0, 80.0, 5013.0, 145.0, 2714.0, 2422.0] 
[2.0, u'VPB 1080p_30fps', 4999.0, 615.0, 4726.0, 1219.0, 2800.0, 2470.0] 
[3.0, u'VPB _4k2k-H265', 5888.0, 1231.0, 5244.0, 1619.0, 0.0, 0.0] 
[4.0, u'Connected standby', 181.0, 17.0, 266.0, 124.0, 176.0, 74.0] 
[5.0, u'S3', 193.0, 52.0, 132.0, 94.0, 3719.0, 3245.0] 
[6.0, u'Angry Bird', 6804.0, 2118.0, 7730.0, 3860.0, 2668.0, 2387.0] 
[7.0, u'Browsing bench', 6209.0, 474.0, 5851.0, 1241.0, 3207.0, 2813.0] 
[8.0, u'Dash Streaming', 5411.0, 663.0, 5576.0, 1842.0, 0.0, 0.0] 
[9.0, u'MM14', 5651.0, 973.0, 7504.0, 3024.0, 0.0, 0.0] 
[10.0, u'Miracast-VPB_Extend', 5072.0, 4007.0, 4196.0, 3081.0, 0.0, 0.0] 
[11.0, u'Miracast-Idle', 5389.0, 756.0, 0.0, 0.0, 0.0, 0.0] 

이 어떤이다 방법은 나머지 데이터를 다른 변수에 저장할 수 있도록 [u '', u '', u ''] 값을 건너 뛰는 것입니다.

답변 : 문제는 내가 직접 인코딩 한 유니 코드 값을 가져 오는 것이 었습니다. 하지만 인덱스 값을 인쇄하면 u가 없으면 나타납니다.

그래서, 내가 직접 사용되는 인쇄 데이터 [0], 데이터 [1], 데이터 [2]

희망이

+0

[목록에서 제거 중] (https://stackoverflow.com/questions/9773121/removing-u-in-list) –

+0

괜찮습니다. 코드 끝 부분에 ** print data.encode ('utf-8') **이 오류 Traceback (가장 최근의 마지막 호출)을 제공합니다. 파일 "mine.py", 줄 17, 인쇄 data.encode ('utf-8') AttributeError : 'list'객체에 'encode'속성이 없습니다. – user9144536

+0

각 요소를 반복합니다. 당신은 ** 인코딩 ** 할 수 ** ** 문자열을 디코딩 **하지만 목록 수 있습니까? ;) – IMCoins

답변

0

당신은 filtered_data = list(filter(None, data)) 를 사용하여 설명하거나 목록을 통해 루프가 있는지 확인하는 수 비어있는 경우 filtered_data = [a for a in data if a != ""] 다음 filtered_data를 인쇄하여 결과를 확인할 수 있습니다.

+0

이 오류, 파일 "mine.py", 라인 18 인쇄 목록을 가지고 ^ 구문 에러 : 유효하지 않은 구문이 어떻게 그것을 기록하거나 정확히 어디에 내가 잘못 _data =의 ws.row_values ​​(행)을거야 말해 줄 수 \t 리스트 (필터 (없음, 데이터) 범위 내의 행의 – user9144536

+0

'list_ \t 인쇄 (0,14) = 데이터 ws.row_values ​​(행) 인쇄 목록 (필터 (없음, 데이터)) ' 이 날 작동 위 입력과 같이 목록 (필터 (없음, 데이터))을 할당하지 않았습니다. –

+0

질문에 대한 답변을 제공하지 않습니다. 작성자의 설명을 비평하거나 요청하려면 게시물 아래에 의견을 남겨 둡니다. - [리뷰에서] (리뷰/저품절 게시물/18361300) – Mayur