繁体   English   中英

需要帮助从Python向Excel添加数据

[英]Need help adding data to excel from Python

import openpyxl, pprint
import pandas as pd
import os

经过一切

my_list = []
for j in range(2, 8):
    my_list.append(sheet1.cell(row = 7, column = j).value)
print(my_list)

我得到以下

[1941533, 1002, 0.0005160870301972719, 8523, 1937, 479367.6439999999]

我现在想将列表中的每个元素添加到excel

for j in range(13,20):
    sheet3.cell(row = 22, column = j)

所以我想my_list [0] = Excel中的第22行和第13列,依此类推,直到J

我认为您的代码将遇到的最大问题之一是my_list的长度为6,因此您的第二个for循环将需要是for j in range(14,20): for j in range(13,19):for j in range(13,19):

我在下面提供了一个完全可复制的示例。 它创建了一个名为test_1.xlsx的示例工作簿,然后将其读入并创建了一个名为test_2.xlsx的新工作簿,该工作簿的第二张工作表中的列表元素已添加到问题中指定的行和列中。

import openpyxl, pprint
from openpyxl import load_workbook
import pandas as pd
import numpy as np
import os

# The next four lines create a sample excel file called test_1.xlsx
df = pd.DataFrame(np.random.randn(15, 12), columns=list('ABCDEFGHIJKL'))
writer = pd.ExcelWriter('test_1.xlsx', engine='openpyxl')
df.to_excel(writer, sheet_name='Sheet1', index=False)
writer.close()

wb = load_workbook('test_1.xlsx')
sheet1 = wb['Sheet1']
my_list = []
for j in range(2, 8):
    my_list.append(sheet1.cell(row = 7, column = j).value)
print(my_list)

wb.create_sheet('Sheet3')
sheet3 = wb['Sheet3']
for j in range(13,19):
    sheet3.cell(row = 22, column = j).value = my_list[j-13]
wb.save("test_2.xlsx")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM