发布网友 发布时间:2024-09-27 07:59
共1个回答
热心网友 时间:2024-11-06 12:40
Python办公自动化中,pandas库的loc和iloc方法在Excel操作中应用广泛。上期我们已经了解了基本的读取和操作技巧。现在,我们将这些知识与xlwings库结合,解决一个实际的案例:如何使用pandas创建两个数据源,并分别写入到Excel的不同sheet中。
首先,用pandas读取Excel文件并创建数据源,代码如下:
import pandas as pd
set_option('display.unicode.east_asian_width', True)
source_path = 'd:\\pandas\\test.xlsx'
df = pd.read_excel(source_path, sheet_name=0)
source1 = df.iloc[[0, 2], [1, 2]] # 筛选部分数据
source2 = df.iloc[[0, 1, 2], [0, 1, 2]] # 读取全部数据
接下来,使用xlwings创建新的Excel文件并写入数据:
import xlwings as xw
dest_path = 'd:\\pandas\\test2.xlsx'
app = xw.App(visible=True, add_book=False)
book = app.books.add()
sheet1 = book.sheets.add('复制的部分数据') # 创建第一个sheet
sheet1.range('A1').expand('table').value = source1 # 写入数据源1
sheet2 = book.sheets.add('复制的全部数据') # 创建第二个sheet
sheet2.range('A1').expand('table').value = source2 # 写入数据源2
book.save(dest_path)
book.close()
app.quit()
通过这样的整合,我们成功地将pandas的数据处理与xlwings的文件操作结合起来。虽然代码简洁,但功能实现正确。在深入学习相关知识后,我们还可以对代码进行优化和改进。