gpt4 book ai didi

python - 在 Python 中使用 Openpyxl 修改现有的 Excel 文件

转载 作者:太空狗 更新时间:2023-10-29 17:41:57 32 4
gpt4 key购买 nike

我基本上是想从 CSV 文件中复制一些特定的列并粘贴它们在现有的 excel 文件 [*.xlsx] 中使用 python。举例来说,您有一个这样的 CSV 文件:

 col_1   col_2   col_3  col_4
1 2 3 4
5 6 7 8
9 10 11 12

因此,我想复制 col_3 和 col_4,并将它们粘贴到现有 excel 文件 [这是 .XLSX 格式] 的 col_8 和 col_9 中。我已经尝试过以各种方式解决这个问题,但找不到确切的方法。 我试过这样的事情:

with open( read_x_csv, 'rb') as f:
reader = csv.reader(f)
for row in reader:
list1 = row[13]
queue1.append(list1)
list2 = row[14]
queue2.append(list2)
list3 = row[15]
queue3.append(list3)
list4 = row[16]
queue4.append(list4)

然后

 rb = open_workbook("Exact file path.....")
wb = copy(rb)
ws = wb.get_sheet(0)

row_no = 0

for item in queue1:
if(item != ""):
ii = int(item)
ws.write(row_no,12,ii)
row_no = row_no + 1
#ws.write(item)
print item
else:

ws.write(row_no,12,item)
row_no = row_no + 1

wb.save("Output.xls")

但是这个解决方案的问题是它不允许我保存为 *.XLSX 格式对我来说是严格要求的。

我曾尝试使用 Openpyxl,因为它可以处理 *.XLSX 格式,但找不到修改现有 excel 文件的方法。谁能帮忙解决这个问题?

疑问: 1) 我们真的可以从 CSV 文件中读取整列并存储到数组/列表中吗 使用 python ? 2) 我们可以修改现有的 .XLSX 格式的 excel 文件吗? openpyxl 或任何其他包?

最佳答案

你可以试试下面的实现方式

from openpyxl import load_workbook
import csv
def update_xlsx(src, dest):
#Open an xlsx for reading
wb = load_workbook(filename = dest)
#Get the current Active Sheet
ws = wb.get_active_sheet()
#You can also select a particular sheet
#based on sheet name
#ws = wb.get_sheet_by_name("Sheet1")
#Open the csv file
with open(src) as fin:
#read the csv
reader = csv.reader(fin)
#enumerate the rows, so that you can
#get the row index for the xlsx
for index,row in enumerate(reader):
#Assuming space separated,
#Split the row to cells (column)
row = row[0].split()
#Access the particular cell and assign
#the value from the csv row
ws.cell(row=index,column=7).value = row[2]
ws.cell(row=index,column=8).value = row[3]
#save the csb file
wb.save(dest)
  • 我们真的可以从 CSV 文件中读取整列并使用 python 存储到数组/列表中吗? 不行,因为文件是按顺序读取的,csv reader 不能把一列数据读到一行。相反,您可以阅读全部内容并使用 izip 和 islice 来获取特定的专栏。你也可以使用 numpy.array

  • 我们可以使用 openpyxl 或任何其他包修改现有的 .XLSX 格式的 excel 文件吗? 是的,看上面的例子

关于python - 在 Python 中使用 Openpyxl 修改现有的 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13381384/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com