Pythonオフィスオートメーション:27行のコードにより、複数のExcelテーブルの内容を1つのテーブルにバッチ集約およびマージできます。

ExcelテーブルのPythonバッチ処理

前文

上司は最近ますます極端になっています。彼は仕事を辞めようとしていて、コンテンツを1つのフォームにまとめるために何百ものフォームを送ってくれました。

幸い、Pythonは知っているので、数分で完了できます。Pythonを知らない人に変更すると、翌日の夜明けまで残業できなくなります〜


このような便利なスキルをみんなで共有する必要があります。これ以上面倒なことはせずに、始めましょう!

準備オーケー

最初にテーブルデータを準備する必要があります。クロールできる兄弟は自分で少しクロールできます。そうでない場合は、データを直接取得するために私を見つけることができます。

コンピュータの左側にあり、携帯電話の下部にあります

ここでは表のデータのみを示して
ここに画像の説明を挿入いるので、5つの表のみを使用しています。現在、市レベルを州レベルに統合しています。

ここに画像の説明を挿入

この記事のアイデア

  1. 現在のフォルダ内のすべてのExcelをGuangdongProvince.xlsxに要約します
  2. 新しいフィールド都市を追加します。フィールドの内容は店舗が配置されている都市であり、このフィールドは前面に配置されます。
  3. 星評価がstar_0のすべてのデータは必要ありません
  4. データの3つのフィールドが空のフィールドである限り、データ全体は必要ありません。
  5. 価格から$記号を削除します

コード

すべてのコードはすべての人と共有されます。非表示にするのは好きではありません。

import glob
import openpyxl 

workbook = openpyxl.Workbook()
sheet_total = workbook.active
sheet_total.append(['城市', '门店名称', '星级', '星级得分', '点评总数', '人均消费', '口味', '环境', '服务', '链接网址', '分类', '商圈', '详细地址', '推荐菜'])


def count_none(line):
    """返回空内容的数据"""
    count = 0
    for d in line:
        if not d:
            count += 1
    return count


filenames = glob.glob('*/*.xlsx')
for filename in filenames:
    # print(filename)
    city = filename.split('.')[0].split('\\')[-1]
    workbook_temp = openpyxl.load_workbook(filename)
    sheet = workbook_temp.active
    for row in sheet.iter_rows(min_row=2, min_col=1, max_col=sheet.max_column, max_row=sheet.max_row):
        row_data = [col.value for col in row]
        if row_data[1] == 'star_0':
            continue

        # 定义一个方法判断空字段的数量
        if count_none(row_data) >= 3:
            continue

        # 去掉平均价格中的 ¥
        if row_data[4]:
            row_data[4] = row_data[4].strip('¥')
        row_data.insert(0, city)
        # print(row_data)
        sheet_total.append(row_data)
    # break  # 调试只处理一个

workbook.save('广东省.xlsx')

効果

オーブンから出たばかりで、とても新鮮です。
ここに画像の説明を挿入フィルタリングを実行しました。そうしないと、すべてが1か所に表示されます。
ご覧のとおり、データは1つのテーブルに正常にマージされています。
ここに画像の説明を挿入
あなたがそれを好きなら、それを好きにして集めることを忘れないでください〜
より技術的な乾物を共有するために私に従ってください
。コードを直接取るのは無料で娼婦をすることと同じです。好きで収集は真実です...
あなたのサポートは私の原動力ですアップデート!

おすすめ

転載: blog.csdn.net/fei347795790/article/details/124149165
おすすめ