请问如何用python读取excel表格并存入二维列表?

我想读取两个excel表格,他们都有一组ID。表格A的属性X为空,表格B只有ID和X。对比两个表格的ID,如果相同则合并数据补全表格A中的X属性。

下面的代码是按照默认来的,默认数据都在sheet1的表格里
表格存储数据的顺序默认是 校园id-姓名-身份证号-性别

1.xls是包含上面四项数据的文档 2.xls是包含身份证和校园id 2项的文档
合并后的文档 在3.xls里

这些都可以在代码里修改,如果看不懂不会修改的话再给我留言吧

# 导入模块
import xlrd
import xlwt


def read_excel():
    workbook1 = xlrd.open_workbook(r'1.xls')
    workbook2 = xlrd.open_workbook(r'2.xls')
    sheet1 = workbook1.sheet_by_name('Sheet1')
    sheet2 = workbook2.sheet_by_name('Sheet1')
    list1 = []
    for i in range(sheet1.nrows - 1):
        list1.append(sheet1.row_values(i + 1))
    print(list1)
    dict2 = {}
    for i in range(sheet2.nrows - 1):
        rows2 = sheet2.row_values(i + 1)
        dict2[str(rows2[0])] = rows2[1]
    print(dict2)

    myWorkbook = xlwt.Workbook()
    worksheet = myWorkbook.add_sheet('合并后')
    worksheet.write(0, 0, label='校园ID')
    worksheet.write(0, 1, label='姓名')
    worksheet.write(0, 2, label='身份证号')
    worksheet.write(0, 3, label='性别')
    i = 1
    for item in list1:
        key = str(item[2])
        if dict2[key]:
            item[0] = dict2[key]
        worksheet.write(i, 0, item[0])
        worksheet.write(i, 1, item[1])
        worksheet.write(i, 2, item[2])
        worksheet.write(i, 3, item[3])
        i = i + 1
    myWorkbook.save('3.xls')


if __name__ == '__main__':
    # 读取Excel
    read_excel()

两种办法
#1
利用python的excel库去读写excel文件,如xlrd,xlwt
#2
将excel导出为csv,csv是文本格式,然后python直读写读文本,csv可以用excel打开

这个用pandas一个库就可以,而且只要5行代码

import pandas as pd
df1=pd.read_excel('你的 excel  文件1.xlsx',sheet_name='sheet1')
df2=pd.read_excel('你的 excel  文件2.xlsx',sheet_name='sheet1')
s = df2.set_index('id')['x']
df1['X'] = df1['id'].map(s).fillna(df1['name']).astype(str)
import pandas as pd
excel_a=pd.read_excel("表格A")
excel_b=pd.read_excel('表格B')

excel_c=pd.merge(excel_a,excel_b,on='ID')
print(excel_c)    #输出结果
excel_c.to_excel('要保存的文件名称')   #将结果保存