Python怎么在Excel中插入列?

想要用Python实现删除空白行、插入一列、合并两列的内容,但只实现了第一步
不知道是不是pandas、openpyxl这两个库没有引用成功,还是代码的问题
但代码是显示没有问题的了,Excel文件还是没动静

img

生成df对象后,或许操作就直接用这个对象操作就好了,不需要单独再用 openxl 了
插入一列的,可以直接用 :df[列名] = 数据
合并两列,可以看成先通过这两列生成一个新的列,然后再把这两列删除即可

【以下回答由 GPT 生成】

在您的示例代码中,有几个问题需要解决。

  1. 引入库的问题:
#所需库
import pandas as pd
from pandas import DataFrame
from openpyxl.reader.excel import load_workbook

在这段代码中,您尝试从openpyxl.reader.excel模块中引入load_workbook函数,但是事实上,openpyxl的最新版本中已经将load_workbook函数移动到openpyxl模块中。因此,您需要更改为以下代码:

#所需库
import pandas as pd
from pandas import DataFrame
from openpyxl import load_workbook
  1. 读取文件和保存文件的路径问题:
df = pd.read_excel(io='D:成品全流程报表2023-08-29.xLsx', sheet_name='Sheet1')
df.to_excel(excel_writer='D:成品全流程报表2023-08-29.xLsx', sheet_name='sheeti', index=False)

在这段代码中,您尝试从文件路径"D:成品全流程报表2023-08-29.xLsx"读取和保存文件。但是,您需要使用正确的文件路径,以及正确的文件扩展名。因此,您需要将代码更改为以下内容:

df = pd.read_excel(io='D:/成品全流程报表2023-08-29.xlsx', sheet_name='Sheet1')
df.to_excel(excel_writer='D:/成品全流程报表2023-08-29.xlsx', sheet_name='Sheet1', index=False)
  1. 插入列的问题:
ws.insert_cols(11)
for index,row in enumerate(ws.rows):
    if index == 0:
        row[2].value= '装运单号&送达方编号'
    else:
        row[2].value = index

在这段代码中,您尝试在第11列之后插入一列,并为每一行设置特定的值。但是,事实上,插入列时,之前的列索引会自动增加。因此,您需要将代码更改为以下内容:

ws.insert_cols(12)
for index, row in enumerate(ws.iter_rows(min_row=1)):
    if index == 0:
        row[1].value= '装运单号&送达方编号'
    else:
        row[1].value = index

综上所述,下面是修正后的代码示例:

#所需库
import pandas as pd
from pandas import DataFrame
from openpyxl import load_workbook

#读取表并删除空白行
df = pd.read_excel(io='D:/成品全流程报表2023-08-29.xlsx', sheet_name='Sheet1')
df.dropna(axis=0, how='all', inplace=True)
df.to_excel(excel_writer='D:/成品全流程报表2023-08-29.xlsx', sheet_name='Sheet1', index=False)

#插入列并合并列的内容
wb = load_workbook(filename='成品全流程报表2023-08-29.XLSX')
ws = wb.worksheets[0]
ws.insert_cols(12)
for index, row in enumerate(ws.iter_rows(min_row=1)):
    if index == 0:
        row[1].value= '装运单号&送达方编号'
    else:
        row[1].value = index
wb.save(filename='D:/成品全流程报表2023-09-20.XLSX')

请注意,这些更改应该能够解决您的问题。如果仍然存在问题,请确保您的文件路径和文件扩展名是正确的,并提供任何错误消息,以便进一步调试。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^