使用pands筛选两个表格中的相同数据。

import pandas


# 读取表格
filename = r'C:\Users\Administrator\Desktop\副表.xls'
df = pandas.read_excel(filename, sheet_name=0, usecols=['编号'])
# 读取表格1手机编号
tel_phone = list(df['编号'])

filename = r'C:\Users\Administrator\Desktop\手机总表.xlsx'
df2 = pandas.read_excel(filename, sheet_name=0, usecols=['编号','状态','三级部门','负责人','领用人','二级部门'])
tel_phone2=list(df2['编号'])
# 定义手机总表未搜到的手机编号列表
tel_no_phone=[]

# 判断手机编号是否在总表内
for telnum in tel_phone:
    if telnum in tel_phone2:
        print(telnum)
    else:
        tel_no_phone.append(telnum)
print(len(tel_no_phone))


# 数据筛选
screening_df = df2[df2['编号'].isin(tel_phone)]
# 创建DataFrame对象
new_row = pandas.DataFrame({'ip地址': tel_no_phone})
# 保存筛选数据
with pandas.ExcelWriter(r'C:\Users\Administrator\Desktop\手机编号-2.xlsx', engine='openpyxl', mode='w') as w:
    screening_df.to_excel(w, index=False, sheet_name='手机编号')
    new_row.to_excel(w, index=False, sheet_name='总表未搜到编号')
    print('保存成功')

### 显示 Pandas DataFrame 的所有数据Pandas 中,默认情况下,DataFrame 的显示会根据数据的大小进行省略,以避免输出过于冗长。为了确保 DataFrame 的所有数据都能完整显示,可以使用 `pandas` 提供的选项设置功能[^4]。 以下是实现这一目标的具体方法: #### 方法一:使用 `pd.set_option` 通过全局设置选项,可以更改 Pandas 的默认显示行为。例如,可以通过设置 `display.max_rows` 和 `display.max_columns` 来控制显示的最大行数和列数。 ```python import pandas as pd # 设置显示的最大行数为 None(即不限制) pd.set_option('display.max_rows', None) # 设置显示的最大列数为 None(即不限制) pd.set_option('display.max_columns', None) # 创建一个示例 DataFrame data = {'Name': ['Tom', 'Jerry', 'Mike', 'Lucy', 'Lily'], 'Age': [21, 25, 18, 22, 24], 'Gender': ['M', 'M', 'M', 'F', 'F'], 'Score': [80, 90, 70, 85, 95]} df = pd.DataFrame(data) # 打印 DataFrame print(df) ``` 上述代码中,`pd.set_option('display.max_rows', None)` 将最大显示行数设置为无限制,从而确保所有行都被显示[^4]。 #### 方法二:使用 `pd.option_context` 如果希望仅在特定代码块中临时更改显示设置,可以使用 `pd.option_context` 上下文管理器。这种方式不会影响全局设置。 ```python import pandas as pd # 创建一个示例 DataFrame data = {'Name': ['Tom', 'Jerry', 'Mike', 'Lucy', 'Lily'], 'Age': [21, 25, 18, 22, 24], 'Gender': ['M', 'M', 'M', 'F', 'F'], 'Score': [80, 90, 70, 85, 95]} df = pd.DataFrame(data) # 使用 option_context 临时更改显示设置 with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(df) ``` 在此上下文中,`display.max_rows` 和 `display.max_columns` 被设置为无限制,因此 DataFrame 的所有数据都会被显示。离开上下文后,显示设置将恢复为默认值[^4]。 #### 注意事项 - 如果 DataFrame 的数据量非常大,直接显示所有数据可能会导致输出过于冗长,影响可读性。 - 在实际应用中,建议根据需求合理调整显示设置,避免不必要的性能开销。 ### 示例输出 假设我们有一个较大的 DataFrame,使用上述方法后,输出将不再省略任何行或列。 ```plaintext Name Age Gender Score 0 Tom 21 M 80 1 Jerry 25 M 90 2 Mike 18 M 70 3 Lucy 22 F 85 4 Lily 24 F 95 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值