用于清理数据的 5 个简单但功能强大的 Python 脚本
面对现实吧。通常,数据清理可能会让人头疼,而不是因为复杂性。通常情况下,我对进行数据清理的想法感到畏缩,因为它变得如此单调。说我已经成为 Python 的“奇才”是轻描淡写的。 Python 非常轻量级,您不需要一个完整的开发服务器来为大多数典型的数据清理任务生成一个快速的 Python 脚本。
我已经编制了我的前 5 个最好的 Python 脚本列表来自动化数据清理。
将 PDF 转换为 CSV
更少的“数据清理”和更多的“数据准备”;当我需要从白皮书、电子书或其他大型 PDF 文档中获取数据时,这个脚本多次拯救了我。我通常从在 Mac 上使用 Preview 开始(因为它有一种删除 PDF 中页面的简单方法)并删除所有不包含我想要的数据的页面。这使得清除任何被转换的额外内容变得更加容易。
import table
# 抓取文件
pdf_filename = input("输入完整路径和文件名:")
# 提取PDF内容
frame= tabula.read_pdf(pdf_filename,table = True,encode ='utf-8') # 从内容创建一个 CSV 文件
frame.to_csv('pdf_conversion.csv')
一种快速提取数据的相对简单的方法,以便您可以在将其拉入数据库或工具(如 Tableau 或 数数 .
合并 CSV 文件
许多系统会为您提供导出为 CSV 的选项,但无法在导出之前先合并数据。这可能导致 5+ 个文件导出到包含相同数据类型但结果不同的文件夹。
该脚本通过获取那些必须具有匹配格式并存在于同一文件夹中的文件并将它们合并到一个文件中来解决此问题。
# -*- coding: UTF-8 -*-
import os
import pandas as pd
import time
# 输入待合并文件所在文件夹
path = r'D:/work/BP/'
file_list = []
for file in os.listdir(path):
# print(file)
df = pd.read_csv(path + file)
file_list.append(df)
# 合并文件
result = pd.concat(file_list)
# 保存合并后的文件
result.to_csv(path + 'merged_{}.csv'.format(time.strftime("%Y-%m-%d %H:%M:%S"),time.localtime()), index=False)
最终输出将为您提供一个 CSV 文件,其中包含您从源系统导出的 CSV 列表中的所有数据。