在Python中,读取二维列表(通常表示为矩阵或表格)可以通过多种方式实现,具体取决于数据的来源和格式。以下是几种常见的方法:
方法一:从文件读取
如果你有一个包含数据的文件,比如CSV或Excel文件,你可以使用Python的内置库来读取数据。
使用csv模块读取CSV文件
import csv打开文件with open('data.csv', 'r', encoding='utf-8') as file:读取所有行rows = file.readlines()处理每一行数据data = []for row in rows:去除行尾的换行符row = row.rstrip('\n')使用逗号作为分隔符values = row.split(',')将字符串转换为整数并添加到列表中data.append([int(value) for value in values])print(data)
使用pandas库读取Excel文件
import pandas as pd读取Excel文件df = pd.read_excel('data.xlsx')转换为二维列表data = df.values.tolist()print(data)
方法二:从键盘输入读取
如果你希望从键盘输入读取数据,可以按行输入,每行输入用逗号或其他分隔符隔开。
获取行数m = int(input("Enter the number of rows: "))初始化二维列表grid = [[] for _ in range(m)]读取每一行数据for i in range(m):获取一行输入并按逗号分割line = input(f"Enter row {i+1} separated by commas: ").split(',')将字符串转换为整数并添加到二维列表中for j in range(len(line)):grid[i].append(int(line[j]))print(grid)
方法三:合并两个表格
如果你有两个表格,并且想要合并它们,可以使用以下代码:
import xlrdimport xlwt打开两个Excel文件workbook1 = xlrd.open_workbook('1.xls')workbook2 = xlrd.open_workbook('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))dict2 = {}for i in range(sheet2.nrows - 1):rows2 = sheet2.row_values(i + 1)dict2[rows2] = rows2[1:]合并数据for key, value in dict2.items():found = Falsefor i, row in enumerate(list1):if row == key:row[1:] = valuefound = Truebreakif not found:list1.append(value)将列表写回Excel文件workbook = xlwt.Workbook()worksheet = workbook.add_sheet('Merged Data')for i, row in enumerate(list1):for j, value in enumerate(row):worksheet.write(i, j, value)workbook.save('merged_data.xls')
以上是几种读取二维列表的常见方法,你可以根据你的具体需求选择合适的方法。

