Excelでのxls、xlsx、xlsmの混合ファイル。Pythonを使用してそれらを統一された方法で処理する方法をご覧ください...

上の「Pythonクローラーとデータマイニング」をクリックしてフォローしてください

Books」に返信すると、初心者から上級者まで、合計10冊のPythonの電子書籍を受け取ることができます。

鶏肉

スープ

ブライダルチャンバーは昨夜赤いろうそくを止め、シャオタンが叔父の叔母を崇拝するまで待ちました。 

前書き

近年のオフィスオートメーションの分野では、Python言語が非常に人気があります。実際、VBAよりもバッチ処理に使用する方がはるかに便利です。

前回の記事では、docファイルをdocxファイルに変換する方法について説明しました。まだ視聴していない友人は、次のリンクをクリックしてください。

python-docxは「doc形式」ファイルを処理できないので、これを行いました...

今日、クラスメートのHuangが、Excelファイルを処理するときにPythonが遭遇する問題のいくつかについて説明します。Pythonには、Excelファイルの処理専用の一般的に使用されるライブラリがいくつかあります。つまり、xlrd、xlwt、openpyxlです。簡単な紹介:

  • xlrdはデータの読み取りのみが可能で、xlsとxlsxを処理できます。

  • xlwtはデータの書き込みのみが可能で、xlsの処理のみが可能です。

  • openpyxlはデータの読み取りと書き込みができますが、処理できるのはxlsxのみです。

処理するファイルにxlsとxlsxの両方が含まれている場合は、それらを統一形式に変換してから2回変更する方が便利だと思います

同時に、Excelファイルであるxlsm形式もありますこれは他のライブラリではほとんどサポートされていませんこの場合、コンピューターにMicrosoft Excelソフトウェア(wpsではない)がインストールされている場合は、ローカルのExcelソフトウェアを呼び出してテーブルファイルの形式を変換してから、他の操作を実行できます。

テキスト

コードを提供する前に、あなたがそれを読むことができるように、私はまだあなたにいくつかの知識のポイントを伝えます。

  • 前回の記事では、Word文書を扱っていたため、ここでWordプログラムを呼び出しました。Excel文書を処理するには、Excelプログラムをここで呼び出す必要があります。

  • Pythonでは、ドキュメントはドキュメントで表され、ワー​​クブックはワークブックで表されます。したがって、さまざまなファイルを処理するには、さまざまな属性を呼び出して対応するファイルを開く必要があります。

# 调用word程序
WordApp = win32com.client.Dispatch("Word.Application")
# 调用excel程序
WordApp = win32com.client.Dispatch("Excel.Application")

# 打开word文档
w.Documents.Open(path)
# 打开Excel工作簿
w.Workbooks.Open(path)

# 后台运行,不显示,不警告
WordApp.Visible = 0
WordApp.DisplayAlerts = 0

Excelファイルのフォーマットが一番ですが、ここでは印象深いまとめをご紹介します。

ここで強調する必要があります。次のコードでは、SaveAsを使用して保存するときに、FileFormatプロパティを使用します。ここで:

  • FileFormat = 51、これはxlsx拡張子ファイルを意味します。

  • FileFormat = 56、これはxls拡張子ファイルを意味します。

  • FileFormat = 52、これはxlsm拡張子ファイルを意味します。

  • FileFormat = 23、これはcsv拡張子ファイルを意味します。

さて、準備の知識は終わりました。これがみんなのためのコードです。

import os
import time
import win32com
from win32com.client import Dispatch

def xls_xlsx(path):
   w = win32com.client.Dispatch('Excel.Application')
   w.Visible = 0
   w.DisplayAlerts = 0
   wb = w.Workbooks.Open(path)
   # 这里必须要绝对地址,保持和xls路径一致
   newpath = allpath+'\\转换后的文档.xlsx'

   wb.SaveAs(newpath,FileFormat = 51)
   # doc.Close() 开启则会删掉原来的dxls
   w.Quit()# 退出
   return newpath
allpath = os.getcwd()
print(allpath)
xls_xlsx(allpath+'\\转换前的文档.xls')

最終結果:

この記事が終わった後、コードにはコメントが付いています。理解できると思います。記事は常に少し考える余地があるはずなので、ここでは繰り返しません。

--- - --- --- --- - --- 終わり --- - --- - --- --- - -

以前の素晴らしい記事の推奨事項:

ようこそ誰もが好きにメッセージを残して、前方、転載をあなたの会社やサポートをありがとうございました

Python学習グループに参加したい場合は、バックグラウンドで返信してください[グループに参加]

何千もの川や山がいつも恋をしています。[見る]をクリックしください。

/本日のメッセージトピック/

一言か二言言ってください~~

おすすめ

転載: blog.csdn.net/pdcfighting/article/details/113750047