用python把excel指定列的数值复制到其他列

任务一:把第一列时间中的月份信息提取出来复制到第三列

思路:用python遍历excel第一列的数值,然后选中所选的值赋值给第三列,从第一列第二行开始,直到第一列数值遍历完。例如excel 第一列第二行的数值为2015/01/01,那我们就选择第一个/后面的数字,例子中01为所选值,如果所选值里面第一个是0,则把0删除。赋值过去的格式为数字格式。

 代码

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('D:\DCN-test.xlsx')

# 选择第一个工作表
worksheet = workbook.active

# 遍历第一列的单元格,从第二行开始
for row in range(2, worksheet.max_row + 1):
    cell = worksheet.cell(row=row, column=1)

    # 获取所选值
    selected_value = str(cell.value).split('/')[1].lstrip('0')

    # 将所选值赋值给第三列
    cell_offset = worksheet.cell(row=row, column=3)  # 第三列的单元格
    cell_offset.value = int(selected_value)  # 转换为数字格式

# 保存修改后的Excel文件
workbook.save('D:\DCN-test.xlsx')

任务二:把第一列时间中的日期信息提取出来复制到第四列

代码

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('D:\DCN-test.xlsx')

# 选择第一个工作表
worksheet = workbook.active

# 遍历第一列的单元格,从第二行开始
for row in range(2, worksheet.max_row + 1):
    cell = worksheet.cell(row=row, column=1)

    # 获取所选值
    selected_value = str(cell.value).split('/')[2].lstrip('0')

    # 将所选值赋值给第四列
    cell_offset = worksheet.cell(row=row, column=4)  # 第四列的单元格
    cell_offset.value = int(selected_value)  # 转换为数字格式

# 保存修改后的Excel文件
workbook.save('D:\DCN-test.xlsx')

任务三:把第一列时间中的年份信息提取出来复制到第二列

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('D:\DCN-test.xlsx')

# 选择第一个工作表
worksheet = workbook.active

# 遍历第一列的单元格,从第二行开始
for row in range(2, worksheet.max_row + 1):
    cell = worksheet.cell(row=row, column=1)

    # 获取所选值
    selected_value = str(cell.value).split('/')[0].lstrip('0')

    # 将所选值赋值给第二列
    cell_offset = worksheet.cell(row=row, column=2)  # 第二列的单元格
    cell_offset.value = int(selected_value)  # 转换为数字格式

# 保存修改后的Excel文件
workbook.save('D:\DCN-test.xlsx')

成果展示:

### 回答1: 我可以提供一个参考的Python代码:df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) df2 = pd.DataFrame({'A': [2, 5], 'D': [0, 0]}) # 遍历df2的A,和df1的A进行比较 for i in range(len(df2)): # 寻找df2 A中的数值在df1 A中的位置 row = df1.index[df1['A'] == df2.iloc[i, 0]].tolist() # 将df1 B和C中相应位置的数值复制到df2 D中 df2.iloc[i, 1] = df1.iloc[row[0], 2]print(df2) ### 回答2: 可以使用pandas库来实现表格的VLOOKUP功能。首先,通过pandas的read_excel()函数读取表格1和表格2的数据。然后,使用merge()函数将两个表格按照A进行匹配。最后,将匹配结果表格的C复制到D中,并保存到新的表格2中。 下面是实现这个功能的Python代码示例: import pandas as pd # 读取表格1和表格2的数据 df1 = pd.read_excel('表格1.xlsx') df2 = pd.read_excel('表格2.xlsx') # 将表格1和表格2按照A进行匹配 result = pd.merge(df2, df1, left_on='A', right_on='A', how='left') # 复制匹配结果中的C值到D result['D'] = result['C'] # 保存匹配结果到新的表格2 result.to_excel('新表格2.xlsx', index=False) ### 回答3: 可以使用pandas库来实现表格的VLOOKUP功能。首先,我们需要安装pandas库并导入它: ```python import pandas as pd ``` 接下来,我们可以使用`read_excel`函数读取表1和表2的数据,并将它们存储为DataFrame对象: ```python data1 = pd.read_excel("表1.xlsx") # 表1的文件名为表1.xlsx,需根据实际情况修改 data2 = pd.read_excel("表2.xlsx") # 表2的文件名为表2.xlsx,需根据实际情况修改 ``` 然后,我们可以使用`merge`函数将两个DataFrame对象根据A进行合并: ```python merged_data = pd.merge(data2, data1, left_on="A", right_on="B", how="left") ``` 在上述代码中,`left_on`参数指定左侧DataFrame的匹配为A,`right_on`参数指定右侧DataFrame的匹配为B,`how`参数指定以左侧DataFrame为基准进行左连接。 最后,我们可以将表1C数值复制到表2D中: ```python merged_data["D"] = merged_data["C"] ``` 将结果保存为一个新的Excel文件: ```python merged_data.to_excel("结果.xlsx", index=False) # 将结果保存为结果.xlsx,需根据实际情况修改 ``` 以上就是使用Python代码实现类似VLOOKUP功能的方法,通过pandas库的函数进行表格的合并和数据复制。请注意修改文件名和路径,确保代码能够正确读取和保存文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值