滋儿哇daydayup 2024-03-29 15:34 采纳率: 33.3%
浏览 5

用python3.6.6将某一路径的表格中的某列复制到另一个表格的另一列,为什么运行不出来?

用python3.6.6将某一路径的表格中的某列复制到另一个表格的另一列,为什么运行不出来,A的内容并没有复制到B中?A、B表都有固定表头,格式都是常规,新手入门求解答,感谢!

import pandas as pd
import xlwt
import openpyxl
import xlrd
import xlwings as xw
from openpyxl import load_workbook

# 读取原始表格数据
df1 = pd.read_excel('C:\\000\\A.xlsx')

# 复制特定列数据到新DataFrame
new_df = pd.DataFrame()
new_df['投资者代码'] = df1['资产账号']

# 将新的DataFrame写入目标表格
new_df.to_excel('C:\\000\\B.xlsx', index=False)

# 保存路径
workbook.save(filename='C:\\000\\B.xlsx')
workbook.close()

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-03-29 15:34
    关注

    引自免费微信小程序:皆我百晓生

    要解决在Python中将某一路径的表格中的某一列复制到另一个表格的另一列的问题,你可以遵循以下步骤:

    1. 导入所需库

      import pandas as pd
      import xlwt
      import openpyxl
      import xlrd
      from openpyxl import load_workbook
      
    2. 打开原始表格数据: 在加载原文件之前,首先确保你已从正确的路径获取了你需要的原始数据(假设文件名为"A.xlsx")。如果你使用的是pandas库来处理数据,那么可以这样做:

      df1 = pd.read_excel('C:/000/A.xlsx')
      
    3. 创建一个新的DataFrame: 在原数据的基础上,创建一个新的DataFrame,其中包含你想要复制的列名(即"A列"),并将这列的值复制到目标表的"B列"。以下是一个示例代码片段,演示如何完成这一操作:

      new_df = pd.DataFrame()
      new_df['投资者代码'] = df1['资产账号']
      new_df['目标列名'] = df1['其他列名']
      
      # 将新的DataFrame写入目标表格
      new_df.to_excel('C:/000/B.xlsx', index=False)
      
    4. 保存路径: 创建完成后,将保存结果的Excel文件重命名为"B.xlsx"并保存到指定的位置。在代码中设置保存位置的代码如下:

      workbook.filename = 'C:\\000\\B.xlsx'
      workbook.save(filename='C:\\000\\B.xlsx')
      workbook.close()
      
    5. 验证复制是否成功: 打开原始工作簿,查看B列的新内容,确保已经成功地将原始"A列"的数据复制到了B列。

      如果使用的是pandas库,可以直接访问B列来检查内容是否正确:

      print(new_df.loc[:, '目标列名'])
      

    如果以上步骤都无法解决问题,可能是因为原数据没有包含你需要的特定行或列,或者源表的其他部分与目标表不匹配导致的结果。在这种情况下,你可以检查一下以下几点:

    • 比较源和目标表的行数和列数是否一致:确保每个源行对应于一个目标行,并且目标行包含所需的数据。
    • 确认源表是否有非空行或列:某些编程环境可能会引发语法错误或逻辑问题,可能导致元素未被找到或尝试删除,进而导致列不存在。
    • 验证A列是否存在并且有足够的数据:确保源表中的"A列"实际包含了数据,并且存在足够的值才能用于复制和粘贴。

    如果你在执行上述步骤时遇到问题,如在导入Excel文件和保存文件时遇到错误信息、在计算目标列名或筛选B列中的内容时出现问题等,可能是由于以下原因:

    • Excel文件损坏或不存在:检查Excel文件的扩展名(通常为.xlsx)是否正确,并确保它在你的系统上可用。
    • 缺少适当权限或目录权限:确保有足够的读写权限来访问源文件夹和目标文件夹。
    • 程序内部错误:确保Python脚本与Pandas库版本兼容,以及你正在使用的代码语法和编程环境正确无误。
    • 编码差异:在Windows或macOS环境中,目标文件的编码类型可能与源文件不同,导致字符转换失败。在Python中,你需要根据源文件的编码选择合适的列转义方式。
    • 逻辑错误:检查目标列的定义和初始化条件是否正确,以及目标列是否有缺失值或异常值。

    通过逐一排查这些潜在的原因,你应该能够找到并修复在copy_to_B.xlsx函数中实现的任何问题,从而顺利复制A列并将其成功地复制到B列。同时,在执行上述步骤前,最好先备份重要数据,以防意外的操作造成不可逆的损失。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月29日