Python-Excel:如何将行的行写入现有的excel文件?

时间:2018-04-16 00:44:37

标签: python excel

我搜索过该网站,但找不到与以下问题相关的任何内容。

我有一个现有的电子表格,我每天都会从中提取数据,电子表格中的信息每天都会发生变化。

我想要做的是创建一个跟踪此单元格中某些信息的文件,我希望它从电子表格中提取数据并将其写入另一个电子表格。将数据添加到新电子表格不应该覆盖现有数据。我真的很感激这方面的帮助。请参阅以下代码:

import os
import openpyxl
import xlrd

wb=openpyxl.load_workbook('Test_shorts.xlsx','r')

sheet = wb.active

rows = sheet.max_row
col = sheet.max_column



rows = rows+1

print rows
new =[]
for x in range (2, 3):
   for y in range(1,10):
        z= sheet.cell(row=x,column=y).value
        new.append(z)
print(new)

1 个答案:

答案 0 :(得分:3)

如果要复制整个工作表,可以直接使用$ gulp [21:55:03] Requiring external module ts-node/register [21:55:03] Using gulpfile ~/src/tmp/typescript-tmp/gulpfile.ts [21:55:03] Starting 'default'... default [21:55:03] Finished 'default' after 122 μs 功能。它将创建活动工作表的副本。

我不知道您的数据,但我相信您可以自己完成。希望这可能会有所帮助

copy_worksheet()

评论说,需要一个单元循环,所以我稍微改变了你的代码。

from openpyxl import load_workbook

file_name = "Test_shorts.xlsx"
wb = load_workbook(file_name)

sheet = wb.active
target = wb.copy_worksheet(sheet)

# you can code to append new data here
new = wb.get_sheet_by_name(target.title) # to get copied sheet

for x in range (2, 3):
    for y in range(1,10):
        print(x,y)
        z= sheet.cell(row=x,column=y).value
        new.append(z)

wb.save(file_name)