您的位置:

Python实现Excel表格数据导入和读取

一、为什么使用Python导入和读取Excel表格数据

Excel是广泛使用的数据处理和管理工具,经常需要对表格中的数据进行导入和读取,通常的做法是使用微软自家的Excel软件,但是对于需要自动化处理大量数据的场合,手工导入和读取显然不够高效。另一方面,Python作为一种流行的面向对象的脚本语言,自带丰富的数据操作库,提供了非常优秀的Excel表格数据导入和读取工具,可以大大提高处理数据的效率。

二、Python实现Excel表格数据导入和读取方法

Python实现Excel表格数据导入和读取主要有以下两种方法:

  • 使用Python自带的openpyxl库实现Excel数据导入和读取
  • 使用Python第三方库pandas实现Excel数据导入和读取

三、使用openpyxl库实现Excel数据导入和读取

openpyxl是一个被广泛应用的Python库,可用于读取和编写Excel 2010 xlsx/xlsm/xltx/xltm文件,可以让Python解释器实现Excel类型的计算。可以在Python中向Excel表格中写入和读取数据,同时支持格式化和标记Excel表格中的数据。下面是一个基于openpyxl库实现Excel数据导入和读取的示例代码:

from openpyxl import load_workbook

#读取Excel表格中的数据
def read_excel_data(file_path, sheet_name, start_row, end_row, start_column, end_column):
    data_list = []
    try:
        workbook = load_workbook(file_path)
        worksheet = workbook[sheet_name]

        for row in worksheet.iter_rows(min_row=start_row, max_row=end_row, min_col=start_column, max_col=end_column):
            row_list = []
            for cell in row:
                row_list.append(cell.value)
            data_list.append(row_list)

    except Exception as e:
        print(e)

    return data_list

#将数据写入Excel表格中
def write_excel_data(file_path, sheet_name, row_index, column_index, data_list):
    try:
        workbook = load_workbook(file_path)
        worksheet = workbook[sheet_name]

        for i in range(len(data_list)):
            worksheet.cell(row=row_index+i, column=column_index).value = data_list[i]

        workbook.save(file_path)

    except Exception as e:
        print(e)

#测试代码
if __name__ == '__main__':
    file_path = 'data.xlsx'
    sheet_name = 'Sheet1'

    #读取Excel表格中的数据
    data_list = read_excel_data(file_path, sheet_name, 1, 3, 1, 3)
    print(data_list)

    #向Excel表格中写入数据
    data_list = ['apple', 'banana', 'cherry']
    write_excel_data(file_path, sheet_name, 8, 1, data_list)

四、使用pandas库实现Excel数据导入和读取

pandas库是Python中数据分析和处理的重要库之一,可用于导入和导出常见的文件格式,包括Excel。pandas库提供了非常实用的DataFrame对象,可以轻松地实现对Excel表格中数据的操作。

下面是一个基于pandas库实现Excel数据导入和读取的示例代码:

import pandas as pd

#读取Excel表格中的数据
def read_excel_data(file_path, sheet_name, start_row, end_row, start_column, end_column):
    data_frame = pd.read_excel(file_path, sheet_name, header=None, skiprows=start_row-1, skipfooter=0, usecols=range(start_column-1,end_column))
    data_list = data_frame.values.tolist()

    return data_list

#将数据写入Excel表格中
def write_excel_data(file_path, sheet_name, row_index, column_index, data_list):
    data_frame = pd.DataFrame(data=data_list)
    writer = pd.ExcelWriter(file_path, engine='openpyxl')

    data_frame.to_excel(writer, sheet_name, startrow=row_index-1, startcol=column_index-1, header=False, index=False)

    writer.save()

#测试代码
if __name__ == '__main__':
    file_path = 'data.xlsx'
    sheet_name = 'Sheet1'

    #读取Excel表格中的数据
    data_list = read_excel_data(file_path, sheet_name, 1, 3, 1, 3)
    print(data_list)

    #向Excel表格中写入数据
    data_list = ['apple', 'banana', 'cherry']
    write_excel_data(file_path, sheet_name, 8, 1, data_list)

五、总结

Python实现Excel表格数据导入和读取主要有两种方法:使用Python自带的openpyxl库和使用Python第三方库pandas。两种方法都能够实现对Excel表格中数据的读取和写入,具体使用哪种方法可以根据实际需求进行选择。如果需要进行数据分析和处理,则推荐使用pandas库,它提供了更为方便的DataFrame对象,可以实现更高效的数据操作。