最近、Excelの表をPythonで処理する際に問題が発生したので、最終的な実装方法と問題解決方法を記録しておこうと思いました。自分自身の便宜のために、または必要なときに誰もが参照できるように、次の記事では主に Python での xlrd と xlwt を使用した Excel の読み取り、書き込み、書式設定に関する関連情報を紹介します。一緒に学びましょう。
はじめに
Python は Excel を操作するために主に xlrd と xlwt という 2 つのライブラリを使用します。つまり、xlrd は Excel を読み取るためのライブラリ、xlwt は Excel を書き込むためのライブラリです。この記事では主に、Python が Excel を読み書きし、フォーマットするために xlrd と xlwt を使用する方法を紹介します。早速、詳細な実装プロセスを見てみましょう。
まずスクリプトに # -*-coding:utf-8 -*- を指定します
1. ソース Excel が存在することを確認し、xlrd を使用して最初のフォームの各行の最初の列の値を読み取ります。 。
import xlrd, xlwt import os assert os.path.isfile('source_excel.xls'),"There is no timesheet exist. Exit..." book = xlrd.open_workbook('source_excel.xls') sheet=book.sheet_by_index(0) for rows in range(sheet.nrows): value = sheet.cell(rows,0).value
2. xlwt を使用して、ソーステーブルから読み取ったデータを準備し、新しいテーブルに書き込み、行幅とテーブル形式を設定します。 2行8列のセルを結合した後、タイトルを書き込み、書式を先ほど定義したtitle_styleに設定します。
write_merge を使用する。
wbk = xlwt.Workbook(encoding='utf-8') sheet_w = wbk.add_sheet('write_after', cell_overwrite_ok=True) sheet_w.col(3).width = 5000 tittle_style = xlwt.easyxf('font: height 300, name SimSun, colour_index red, bold on; align: wrap on, vert centre, horiz center;') sheet_w.write_merge(0,2,0,8,u'这是标题',tittle_style)
3. 関数内でグローバル変数を使用する場合は、グローバルの追加に注意してください。それ以外の場合、 UnboundLocalError: local variable 'xxx' Referenced before assign.
が表示されます。 UnboundLocalError:local variable'xxx' referenced before assignment.
check_num = 0 def check_data(sheet): global check_num check_num=check_num+1
4. 写入日期和带格式的数值。原来从sheet中读取的日期格式为2014/4/10,处理后只保留日期并做成数组用逗号分隔后写入新的excel。
date_arr = [] date=sheet.cell(row,2).value.rsplit('/')[-1] if date not in date_arr: date_arr.append(date) sheet_w.write_merge(row2,row2,6,6,date_num, normal_style) sheet_w.write_merge(row2,row2,7,7,','.join(date_arr), normal_style)
5. 当从excel中读取的日期格式为xldate时,就需要使用xlrd的xldate_as_tuple来处理为date格式。先判断表格的ctype确实是xldate才能开始操作,否则会报错。之后date格式可以使用strftime来转化为string。如:date.strftime("%Y-%m-%d-%H")
4. 日付と書式設定された値を書き込みます。シートから読み取った元の日付形式は2014/4/10となっており、処理後は日付のみを保持してカンマ区切りの配列にして新しいExcelに書き込みます。
from datetime import date,datetime from xlrd import xldate_as_tuple if (sheet.cell(rows,3).ctype == 3): num=num+1 date_value = xldate_as_tuple(sheet.cell_value(rows,3),book.datemode) date_tmp = date(*date_value[:3]).strftime("%d")
5. Excelから読み込んだ日付形式がxldateの場合、xlrdのxldate_as_tupleを使って日付形式に加工する必要があります。まず、操作を開始する前に、テーブルの ctype が確かに xldate であることを確認します。そうでない場合は、エラーが報告されます。その後、strftime を使用して日付形式を文字列に変換できます。例: date.strftime("%Y-%m-%d-%H")
wbk.save('new_excel.xls')🎜🎜6 最後に、新しく書き込んだテーブルを保存します🎜🎜🎜🎜rrreee 🎜 🎜🎜🎜xlrd と xlwt を使用して Excel の読み取り、書き込み、フォーマットを行う Python に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。 🎜

PythonArraysSupportVariousoperations:1)SlicingExtractsSubsets、2)Appending/ExtendingAdddesements、3)inSertingSelementSatspecificpositions、4)remvingingDeletesements、5)sorting/verversingsorder、and6)listenionsionsionsionsionscreatenewlistsebasedexistin

numpyarraysAressertialentionsionceivationsefirication-efficientnumericalcomputations andDatamanipulation.theyarecrucialindatascience、mashineelearning、物理学、エンジニアリング、および促進可能性への適用性、scaledatiencyを効率的に、forexample、infinancialanalyyy

UseanArray.ArrayOverAlistinPythonは、Performance-criticalCode.1)homogeneousdata:araysavememorywithpedelements.2)Performance-criticalcode:Araysofterbetterbetterfornumerumerumericaleperations.3)interf

いいえ、notallistoperationSaresuptedbyarrays、andviceversa.1)arraysdonotsupportdynamicoperationslikeappendorintorintorinsertizizing、whosimpactsporformance.2)リスト

toaccesselementsinapythonlist、useindexing、negativeindexing、slicing、oriteration.1)indexingstartsat0.2)negativeindexingAcsesess.3)slicingextractStions.4)reterationSuseSuseSuseSuseSeSeS forLoopseCheckLentlentlentlentlentlentlenttodExeror。

Arraysinpython、特にvianumpy、arecrucialinscientificComputing fortheirefficienty andversitility.1)彼らは、fornumericaloperations、data analysis、andmachinelearning.2)numpy'simplementation incensuresfasteroperationsthanpasteroperations.3)arayableminablecickick

Pyenv、Venv、およびAnacondaを使用して、さまざまなPythonバージョンを管理できます。 1)Pyenvを使用して、複数のPythonバージョンを管理します。Pyenvをインストールし、グローバルバージョンとローカルバージョンを設定します。 2)VENVを使用して仮想環境を作成して、プロジェクトの依存関係を分離します。 3)Anacondaを使用して、データサイエンスプロジェクトでPythonバージョンを管理します。 4)システムレベルのタスク用にシステムPythonを保持します。これらのツールと戦略を通じて、Pythonのさまざまなバージョンを効果的に管理して、プロジェクトのスムーズな実行を確保できます。

numpyarrayshaveveraladvantages-averstandardpythonarrays:1)thealmuchfasterduetocベースのインプレンテーション、2)アレモレメモリ効率、特にlargedatasets、および3)それらは、拡散化された、構造化された形成術科療法、


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









