各位大佬们,我有一堆数据CSV EXCEL的都有 并且标题列可能存在不一样的情况 请问如何利用循环从不同的文件中提取 身份证号和卡号 并且合并到一个EXCEL中!! 跪谢大佬们
解题下思路供参考:
1. 文件分csv和excel, 你可以用pd.read_csv() 和pd.read_excel() 分别读取
2. 获取文件夹内的excel文件列表和csv文件列表,分别用上面的方法读取, 下面这段代码可参考
3.标题可能存在不一样的. 那先看看文件,找找列名有没有什么规律, 根据规律看读取的时候文件是纵向或者横向合并
4. 汇总完的数据再根据字符串长度或者只有数字和字母等条件筛选,清洗
# 导入工具包
import pandas as pd
import numpy as np
import os
# 路径
path = '文件路径'
# 文件列表
files = []
for file in os.listdir(path):
if file.endswith(".csv"):
files.append(path+file)
# 定义一个空的dataframe
data = pd.DataFrame()
# 遍历所有文件
for file in files:
datai = pd.read_csv(file,encoding='gbk')
datai_len = len(datai)
data = data.append(datai) # 添加到总的数据中
print('读取%i行数据,合并后文件%i列, 名称:%s'%(datai_len,len(data.columns),file.split('/')[-1]))
# 查看是否全部读取,格式是否出错
# 重置索引
data.reset_index(drop=True,inplace=True)