Python处理Excel表格

raw_data_jiangxiang = pd.read_excel(accord_path, header=None)
raw_data_mingzi = pd.read_excel(name_path, header=None)
mingzi = raw_data_mingzi.values[:, 1:2]
jiangxiangmingzi = raw_data_jiangxiang.values[:, 7:8]

pandas读取出来的是Series或者DataFrame,DataFrame是一列列Series加起来的。
二者区别就是一个一维,一个二维。
.values会读出来ndarrary的形式。从而进行处理。
print(jiangxiangmingzi)
[ [‘学生信息’]
[‘2020112001张,2020112001晏’]… ]
我们可以看到组织形式,首先是ndarray的形式,而不是list,因为项与项之间没有,,也可以发现同类型元素是一个小的ndarray,存放着一个字符串类型。
所以:jiangxiangmingzi[i]是每一项ndarray:[‘2020112001张,2020112001晏’]
jiangxiangmingzi[i][0]是该项的内容'2020112001张,2020112001晏'

菜鸟教程
使用list创建DataFrame

import pandas as pd
data = [['Google',10],['Runoob',12],['Wiki',13]]
df = pd.DataFrame(data,columns=['Site','Age'],dtype=float)
print(df)

使用ndarray创建DataFrame

import pandas as pd
data = {'Site':['Google', 'Runoob', 'Wiki'], 'Age':[10, 12, 13]}
df = pd.DataFrame(data)
print (df)

上面是符合逻辑的,list的特性是内容的数据类型可以不同,所以每一项就是一行。
ndarray 对象是用于存放同类型元素的多维数组。所以是按照列来组织的。(默认一列的数据类型是一样的)

import pandas as pd
accord_path = r'C:\Users\97246\Desktop\jiang.xlsx'
name_path = r'C:\Users\97246\Desktop\number.xls'

raw_data_jiangxiang = pd.read_excel(accord_path, header=None)
raw_data_mingzi = pd.read_excel(name_path, header=None)
mingzi = raw_data_mingzi.values[:, 1:2]
jiangxiangmingzi = raw_data_jiangxiang.values[:, 7:8]
rows = jiangxiangmingzi.shape[0]
judege = []
for i in range(rows):
    is_need = False
    print(jiangxiangmingzi[i][0])
    for k in jiangxiangmingzi[i][0].split(','):
        print(k)
        if len(k) > 10:
            k = k[12:]
        print(k)
        if k in mingzi:
            is_need = True
            break
    if is_need:
        judege.append(i)
# 使用list存储方法。
siftedthrough_data = []
for i in judege:
    siftedthrough_data.append(raw_data_jiangxiang.iloc[i])
df = pd.DataFrame(siftedthrough_data)
print(df)
df.to_excel(r'C:\Users\97246\Desktop\党员.xlsx', index=False)

你可能感兴趣的:(python,excel,pandas)