如何使用python

时间:2017-05-11 22:09:33

标签: python excel

我正在通过以下方式阅读excel文件:

import xlrd
import openpyxl
book = xlrd.open_workbook("file.xlsx")
sheet = book.sheet_by_index(0)


for row_index in xrange(1, sheet.nrows): # skip heading row
    timestamp, text, header, transporter, device_type = sheet.row_values(row_index, end_colx=5)
    #print "Row %d: Timestamp=%r Text=%r Header=%r Transporter=%r Device_Type=%r" %(row_index + 1, timestamp, text, header, transporter, device_type)
    print (text)

在此之后,我在Text列中的单元格上执行了一些NLP。在NLP之后,来自" Text"的数据。列的格式如下:

result = [('good', 'rain a lot maybe damage.'), ('gibber', 'x screen'),....]

现在,我想在一个新的excel文件中写这个,如果从上面的列表中,一个元素有"好" (在元组的第一个元素中),然后从旧的excel文件(我之前读过的那个)复制整行,如果元素(在上面的列表中)有" gibber" (在元组的第一个元素中),然后不要将该行(从旧的excel文件)复制到新的excel文件中。

我在这些方面思考:使用上面的列表创建一个新列表,这样每当我们得到" good"时,我们将元素位置附加到新列表,否则我们追加& #34; 0" (或者不要追加),所以新的列表将采用以下形式: [1,0,...]然后将这些行号从新列表复制到新的Excel文件中。

temp_list=[]
for i in range(len(result)):
    if result[i][0] == 'good':
        temp_list.append(i+2)
    else:
        continue
print(temp_list)

在此temp_list之后是:[2, 5, 6, 7, 8, 14, 15, 16, 17, 18,...],即行号与我需要从旧excel表中复制的行完全对应。在此之后不知道如何继续。请帮忙!

0 个答案:

没有答案