在Python中打开和处理大型Excel文件,可以使用以下几种方法:
使用`pandas`库:
通过`usecols`参数指定读取的列范围,减少内存占用。
使用`chunksize`参数分块读取文件,提高效率。
import pandas as pd读取指定列的数据df = pd.read_excel('your_file.xlsx', sheet_name='Sheet1', usecols='A:C')逐块读取数据chunk_size = 1000for chunk in pd.read_excel('your_file.xlsx', sheet_name='Sheet1', usecols='A:C', chunksize=chunk_size):处理每个数据块pass
使用`openpyxl`库:
通过设置`read_only=True`参数,以只读模式打开文件,提高读取速度。
from openpyxl import load_workbook以只读模式打开文件wb = load_workbook('your_file.xlsx', read_only=True)获取所有表格名称sheet_names = wb.sheetnames选择第一个表格sheet = wb[sheet_names]读取单元格数据cell_value = sheet['A1'].value修改单元格数据sheet['A1'] = 'Hello, World!'保存文件wb.save('example.xlsx')关闭文件wb.close()
使用`xlwings`库:
可以轻松读取Excel大文件数据,但需要注意性能问题。

import xlwings as xw不显示地打开Excel,读取Excel文件app = xw.App(visible=False, add_book=False)wb = app.books.open('D:/PYTHON/TEST_CODE/Book300s.xlsx')选择第0个表单sheet = wb.sheets记录打开表单开始时间start_open_time = time.time()记录开始循环计算时间start_run = time.time()处理数据...记录打开Excel表单结束时间end_open_time = time.time()关闭文件wb.close()关闭Excel应用程序app.quit()
使用`pyxlsb`库:
如果Excel文件是`.xlsb`格式,使用`pyxlsb`库可以更快速地读取数据。
import pyxlsb打开.xlsb文件with pyxlsb.open_workbook('your_file.xlsb') as wb:with wb.get_sheet(0) as sheet:读取数据data = sheet.read_rows()for row in data:print(row)
转换为CSV格式:
如果可能,将Excel文件转换为CSV格式读取,因为CSV是纯文本格式,读取会更高效。
import pandas as pd读取Excel文件并保存为CSVdf = pd.read_excel('your_file.xlsx')df.to_csv('your_file.csv', index=False)读取CSV文件df_csv = pd.read_csv('your_file.csv')
选择合适的方法取决于你的具体需求,包括文件格式、文件大小、处理速度要求等因素。希望这些建议对你有所帮助!
