CSV数据清洗与合并工具
Python+pandas编写的CSV数据清洗工具,支持自动识别文件编码(UTF-8/GBK)、去除空行和重复行、去除前后空格、多文件合并、列名统一,输出干净的CSV文件,是数据处理和分析的前置工具。
详细内容
import pandas as pd, os, glob, chardet
def detect_encoding(file):
with open(file, 'rb') as f: result = chardet.detect(f.read(10000))
return result['encoding']
input_dir = 'data'; output_file = 'cleaned.csv'
all_data = []
for f in glob.glob(os.path.join(input_dir, '*.csv')):
enc = detect_encoding(f)
df = pd.read_csv(f, encoding=enc)
df = df.dropna(how='all') # 去空行
df = df.drop_duplicates() # 去重
df.columns = df.columns.str.strip() # 列名去空格
all_data.append(df)
print(f'处理: {f}, {len(df)} 行')
result = pd.concat(all_data, ignore_index=True)
result.to_csv(output_file, index=False, encoding='utf-8-sig')
print(f'合并完成,共 {len(result)} 行,输出: {output_file}')
适配环境
依赖环境:Python 3.7+,需安装pandas
使用说明
1.安装Python 3.7+
2.pip install pandas chardet
3.保存为csv_clean.py
4.将CSV文件放在data文件夹
5.python csv_clean.py 运行
将需要清洗的CSV放在data文件夹
自动识别文件编码
支持多个CSV合并为一个
可以指定要保留的列
清洗后输出到output文件夹
2.pip install pandas chardet
3.保存为csv_clean.py
4.将CSV文件放在data文件夹
5.python csv_clean.py 运行
将需要清洗的CSV放在data文件夹
自动识别文件编码
支持多个CSV合并为一个
可以指定要保留的列
清洗后输出到output文件夹
常见问题
问:支持Excel文件吗?
答:目前只支持CSV,Excel可以另存为CSV后处理
问:大文件能处理吗?
答:pandas可以处理GB级文件,但需要足够内存