複数のExcelファイルから読み取り、データをxmlファイルに書き込むための小さなスクリプトを作成しました。何が悪いのかを説明するために、スクリプトを少し削除しました。次のようになります。
import glob, xlrd
xmlFile = 'example.xml'
xmlData = open(xmlFile, 'a')
for xlsfile in glob.glob('*.xls'):
wb = xlrd.open_workbook(xlsfile)
sh1 = wb.sheet_by_index(0)
sh1c1 = sh1.col_values(1)
for cell in sh1c1: xmlData.write(cell + "\n")
私のExcelファイルのセルにテキストしかない限り、すべてうまくいきます。セルの1つに番号がある場合。エラーが発生します:
Traceback (most recent call last):
File "test.py", line 14, in <module>
for cell in sh1c1: xmlData.write(cell + "\n")
TypeError: unsupported operand type(s) for +: 'float' and 'str'
数字が含まれるのは、一部のセルと一部のファイルのみです。フロート、整数、文字列についてはすでにたくさん読んでいますが、上記のコードにこれを適用する方法が見つかりません。私はPythonにまったく慣れていないので、まだすべてに頭を悩ませることはできません。誰かが私を正しい方向に向けたいですか?
よろしくお願いします。