Python 2.7.12でxlrdを使い始めたばかりで、何が間違っているのか分かりません。データ型の不一致のようです。Python 2.7とxlrdを使用してExcelスプレッドシート行の特定の文字列を検索する
基本的には、Excelスプレッドシート(.xlsx)で2列幅の一連の行の文字列を検索していますが、見つかったらその行全体を新しいスプレッドシートにコピーしたいと思います。私はこれを実行すると
スプレッドシートのデータがどのように見える...
R1: TheName_of_the_thing_XYZQ , Description of the thing with keyword1
R1: TheName_of_another_thing_61PD , Description of the thing with keyword2
そして、ここでは、私がこれまで持っているものだ...
import xlrd
search_for = ['XYZQ', 'keyword2', 'foo', 'FOO']
book = xlrd.open_workbook('csv-test.xlsx')
i = 0
j = 0
sheet1 = book.sheet_by_index(1)
for i in range(sheet1.nrows):
row = sheet1.row_values(i)
for j in range(len(row)):
if row[j] == search_for:
print 'found it!'
else:
print 'sorry'
は、それが中で何かを見つけることはありませんsearch_forは、すべての行について「申し訳ありません」と表示します。
私はそれが正しい文書を開き、各行などを解析することを知っています。私もcell_valueとrow_sliceを試しました。
ありがとうございます!
、ジョルダーノを知ってみましょう!ありがとうございました!私がしなければならないことは、どちらかの列で一致が見つかった場合、その行の両方の列を別のスプレッドシートにコピーしたいということです。私はそれを理解することができると思うが、もしあなたが素早い考えを持っているなら、教えてください! –
あなたを助けてうれしい! btw、Excelファイルを書くには、xlsxwriterパッケージを使うことができます。シンプルで、簡単な例やチュートリアルをオンラインで見つけることができます。 困ったときは、twitter/github(私のプロフィールを参照)で私に連絡してください。 – Giordano