12

現在存在するワークシートを読み込んで、以下に示すテキスト ファイル (カンマ区切り値) のスクリーンショットをインポートしようとしています。

エクセルシート:

ここに画像の説明を入力

テキストファイル:

ここに画像の説明を入力

以下に示すコードを使用しています。

# importing necessary modules for performing the required operation
    import glob
    import csv
    from openpyxl import load_workbook
    import xlwt

    #read the text file(s) using the CSV modules and read the dilimiters and quoutechar
    for filename in glob.glob("E:\Scripting_Test\Phase1\*.txt"):
        spamReader = csv.reader((open(filename, 'rb')), delimiter=',')


        #read the excel file and using xlwt modules and set the active sheet
        wb = load_workbook(filename=r"E:\Scripting_Test\SeqTem\Seq0001.xls")
        ws = wb.worksheets(0)


        #write the data that is in text file to excel file
        for rowx, row in enumerate(spamReader):
            for colx, value in enumerate(row):
                ws.write(rowx, colx, value)

        wb.save()

次のエラー メッセージが表示されます。

UnicodeDecodeError: 'utf8' コーデックは位置 0 のバイト 0xd0 をデコードできません: 無効な継続バイト

もう 1 つの質問: Excel シートの A3 列から始まるテキスト データをインポートするように Python に指示するにはどうすればよいですか?

4

3 に答える 3

2

openpyxlはOOXML形式 (xlsx/xlsm)のみを扱います。Excelを使用して、xlsではなくxlsxファイル形式で保存してみてください。

xlsファイルをコードでxlsxに変換したい場合。以下のリストから 1 つのオプションを試してください。

  1. Windows では、excelcnvツールを使用して xls を xlxx に変換することもできます。
  2. Linux の場合は、こちらの記事をご確認ください。
  3. または、Python でxlrdを使用して xlsx に変換することもできます。こちらのQ&Aをご確認ください。
于 2014-02-24T06:16:06.530 に答える