import pandas as pd
import os
import re

from openpyxl import Workbook

# 读取指定路径下的CSV文件
folder_path = './自动验单数据/自动验单发生率/四月'
file_format = r'\自动验单发生率统计详情\d{8}\.csv'
output_folder = 'F:/自动验单数据/4.5-5.5验本数据/'
output_file = None


for filename in os.listdir(folder_path):
    if re.match(file_format,filename):
        date_str = filename[11:19]
        file_path = os.path.join(folder_path,filename)
        yb_data = pd.read_csv(file_path,dtype = object,usecols=['发验机构','验达机构','验单上一环节地市','验单上一环节机构类型','上下行','发验时间','邮件条码'])
        data = yb_data[((yb_data['发验机构'] == '苏州') & (yb_data['发验机构'] == yb_data['验达机构']) & (yb_data['验单上一环节机构类型'] == '揽投部') & (
                yb_data['验单上一环节地市'] == '苏州市')  &(yb_data['上下行'] == '上行'))]
        file_name = '4.5-5.5验本数据.xlsx'
        if output_file is None:
            output_file = os.path.join(output_folder, file_name)
            data.to_excel(output_file, index=False)
        else:
            with pd.ExcelWriter(output_file, mode='a', engine='openpyxl') as writer:
                writer.book = writer.book
                writer.sheets = {ws.title: ws for ws in writer.book.worksheets}
                data.to_excel(writer, index=False, header=False, startrow=writer.sheets['Sheet1'].max_row)
                writer.save()
        print(date_str + '匹配完成!')
    # data.to_excel('F:/自动验单数据/验本数据/'+ file_name, index=False)
else:
    print('全部匹配完成!')

脚本功能:

  1. 读取指定路径下的所有CSV文件。
  2. 使用正则表达式匹配文件名,提取日期信息。
  3. 使用pandas读取CSV文件,并根据特定条件筛选数据。
  4. 使用openpyxl将数据写入Excel文件。

代码解释:

  • folder_path:指定CSV文件所在的文件夹路径。
  • file_format:正则表达式,用于匹配CSV文件的文件名。
  • output_folder:指定输出Excel文件的文件夹路径。
  • output_file:输出Excel文件名。
  • yb_data:读取CSV文件的数据。
  • data:根据条件筛选后的数据。
  • pd.ExcelWriter:用于将数据写入Excel文件。

使用方法:

  1. 确保已经安装了pandas和openpyxl库。
  2. 修改脚本中的文件夹路径、文件名和输出路径。
  3. 运行脚本。

注意:

  • 脚本中使用了mode='a'参数,表示将数据追加到现有Excel文件。
  • 如果不存在目标Excel文件,脚本会自动创建。
  • 脚本使用了header=False参数,表示不写入Excel文件标题行。
  • 脚本使用了startrow=writer.sheets['Sheet1'].max_row参数,表示将数据写入Excel文件的最后一行。

改进建议:

  • 可以将脚本中的条件筛选逻辑封装成函数,提高代码可读性和可维护性。
  • 可以添加错误处理机制,防止程序异常退出。
  • 可以添加日志记录功能,方便跟踪脚本运行情况。
  • 可以根据实际需求添加其他功能,例如将数据进行统计分析或可视化展示。
Python脚本:从CSV文件提取数据并写入Excel

原文地址: https://www.cveoy.top/t/topic/pZL4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录