2つのワークブックのサマリー比較と3番目のアウトプットを行っています。私は、一連のcsvファイルに各ワークブック(同じように構造化された、15個のワークシートを含む)をエクスポートし、次にcsvファイルAで読み取ってテーブルとテーブルの比較を行い、ワークブック。私はxlrd
とcsv
Python:ワークシートを繰り返してCSVにエクスポートする
を使用しています
はここで失敗しているコードの一部です:
outpath_a = os.path.join(working_directory, "out_a") # dir set earlier
workbook_a_sheets = workbook_a.sheet_names()
workbook_b_sheets = workbook_b.sheet_names()
for a in workbook_a_sheets:
out_csv = os.path.join(outpath_a, a)
with open(out_csv, 'wb') as oca:
cw = csv.writer(oca, dialect=csv.excel, quoting=csv.QUOTE_ALL)
for rownum in xrange(a.nrows):
cw.writerow(a.row_values(rownum))
それは私にエラーを与えている:
AttributeError: 'unicode' object has no attribute 'nrows'
私が代わりにunicodecsv
を使用してみましたcsv
(import unicodecsv as csv
)ですが、エラーは同じです。
あなたはおそらく 'はxrange(workbook_a.nrowsを)'意味:
は、あなたはそれを
固定ループを得るためにあなたのワークブックに
sheet_by_name
メソッドを呼び出す必要があります。 'a'はワークシートの名前であり、ワークシート自体ではありません。 –ブック全体を検索しませんか?私は各シートを繰り返し、各シートを独自のcsvファイルにエクスポートしたいと思います。 – auslander
あなたは正しいです!名前を使用してシートオブジェクトを取得する必要があります。 –