gpt4 book ai didi

python - 将 Python 列表变量复制到现有 xlsx excel 文件中

转载 作者:行者123 更新时间:2023-12-01 06:40:49 25 4
gpt4 key购买 nike

我是Python新手,所以请原谅我的无知。我已经使用 openpyxl 和 pandas 尝试了几种不同的代码,但是没有任何效果。

我需要复制 Python 中现有列表变量的文本(这是文件路径数组),并将其粘贴到给定单元格处的现有 xlsx 工作表中。

例如,给定 Python 中的列表变量 [“apple”、“orange”、“grape”],我需要工作表 1 的单元格 A2、A3 和 A4 来读取相同的内容。任何帮助深表感谢!

import pandas as pd
import os

folder = "C:\\Users\\user\\Documents\\temp"
x = []
for path in os.listdir(folder):
if path.endswith(".png"):
full_path = os.path.join(folder, path)
x.append(full_path)

fn = r"C:\\Users\\user\\Documents\\test.xlsx"
df = pd.read_excel(fn, header = None)
df2 = pd.DataFrame(x)
writer = pd.ExcelWriter(fn)
df2.to_excel(writer, startcol=0, startrow=1, header=None, index=False)
writer.save()

这给我带来的是正确的信息,但似乎覆盖了任何现有数据。所有其他单元格内容和工作表现已消失,新添加的数据位于空白的 Sheet1 中。我需要按原样维护现有电子表格,并且仅从给定工作表上的给定单元格开始添加此信息。

还尝试使用 xlwings 进行以下操作,它将正确的数据导入到现有工作表中,同时保留所有其他数据,但用 0 替换第一个单元格。如何从数据框中删除这个额外的 0?

filename = "C:\\Users\\user\\Documents\\test.xlsx"
df = pd.DataFrame(x)
wb = xw.Book(filename)
ws = wb.sheets('Sheet1')
ws.range('A2').options(index=False).value = df
wb = xw.Book(filename)

编辑:如果我用 Series 替换 DataFrame,上面的 xlwings 代码似乎可以工作。解决方案:

import xlwings as xw
filename = "C:\\Users\\user\\Documents\\test.xlsx"
df = pd.Series(x)
wb = xw.Book(filename)
ws = wb.sheets('Sheet1')
ws.range('A2').options(index=False).value = df
wb = xw.Book(filename)

最佳答案

I need to maintain the existing spreadsheet as-is

以追加模式打开 Excel 文件,take a look at this answer例如(同一线程中的其他答案也很有用)。

关于python - 将 Python 列表变量复制到现有 xlsx excel 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59463136/

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