Pythonを使用してExcelを複数のCSVファイルに簡単に分割する方法を教えてください

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

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

鶏肉

スープ

情熱的ですが、いつも容赦ないようですが、彼の前では笑えない気がします。

I.はじめに

日常生活や仕事で、このような混乱する状況に遭遇することがあります。1つのExcelファイルが大きい場合や、列の内容に応じて複数のCSVファイルに分割する必要がある場合は、Excelのスクリーニング機能を使用してゆっくりとスクリーニングできますが、前後に繰り返される作業負荷は比較的大きいです。しかし、慌てる必要はありません。実際、この状況を実現するために必要なPythonコードは数行だけです。見てみましょう〜

2.プロジェクトの目標

列の内容に基づいて、単一のExcelファイルを複数のCSVファイルに分割するか、複数のCSVファイルに分割します。

3.プロジェクトの準備

ソフトウェア:PyCharm

必要なライブラリ:tkinter、pandas、xlrd

4、プロジェクト分析

1)ターゲットファイルの選び方は?

tkinterライブラリのfiledialogを使用して、処理するターゲットファイルを選択します。

2)Excelファイルの読み方は?

xlrdライブラリを使用してExcelで読み取り、処理するターゲットシートを取得します。

3)列の内容をフィルタリングする方法は?

pandasライブラリを使用して列の内容をフィルタリングし、分割データを取得します。

4)ファイルを保存する方法は?

to_csv()を使用してデータを保存し、最終的な分割ターゲットファイルを取得します。

5、プロジェクトの実現

1.最初のステップは、必要なライブラリをインポートすることです

from tkinter import filedialog
import pandas as pd
import xlrd

2.2番目のステップでターゲットファイルを選択します

path = filedialog.askopenfilename().replace('/', '\\')
first_file_fh=xlrd.open_workbook(path)
# 选择要拆分的文件
first_file_sheet=first_file_fh.sheets()

3. 3番目のステップは、Excelファイルを読み取ることです

  
for sheetname in first_file_sheet:
      sheet_names.append(sheetname.name)
  df = pd.read_excel(path, sheet_name=sheet_names[0])

4. 4番目のステップは、特定の列の内容に従ってフィルタリングして保存することです。

 for c in list_c:
      # 根据列的内容循环读取
      df2=df[df['地市']==c]
      # 根据列的内容进行筛选
      df2.to_CSV('./excel_CSV/auto_ok/32_'+c+'.CSV', encoding='gbk',index=None)
      # 筛选后的内容保存为CSV

6、エフェクト表示

1.処理前のExcelデータ:

2. CSVファイルは、最終分割後に結果を保存します。

3.誰もが操作しやすいように、編集者は小さなビデオを録画しました。皆さんが練習を開始して従うことを歓迎します。気分が良ければ、それを気に入ってください〜

セブン、まとめ

この記事では、Pythonを使用してExcelファイルを分割し、任意の列の内容に従って分割できるようにする方法を紹介します。数行のPythonコードで簡単に実現でき、楽しいです。

最後に、この記事のプロジェクトコードが必要な方は、公式アカウントの舞台裏にある「split file」キーワードに返信して入手してください。操作中に問題が発生した場合は、メッセージを残すか、追加してください。編集者の友達。みんながバグを解決するのを手伝ってください!

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

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

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

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

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

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

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

おすすめ

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