【问题标题】:How can I add data (a python list) to a new column in an existing Excel file?如何将数据(python 列表)添加到现有 Excel 文件中的新列?
【发布时间】:2020-06-11 19:51:59
【问题描述】:
我想在现有 Excel 文件中添加一个新列。我能够使用 openpyxl 库来做到这一点。这是我的代码:
workbook = openpyxl.load_workbook(file_location)
worksheet = workbook.worksheets[0]
worksheet.insert_cols(9)
workbook.save('/Users/jaime/Desktop/Try1.xlsx')
上面的代码所做的只是在第 9 列之前插入一个新列。现在,我想向该列添加数据,但我不知道该怎么做。我有一个列表,我想将该列表添加到我添加的新列中。怎么可能呢?谢谢。
【问题讨论】:
标签:
python
arrays
excel
dataframe
openpyxl
【解决方案1】:
我自己通过以下方式解决了这个问题:
在代码的第一部分中,我只是在索引 9 处的现有 Excel 文件中创建一个空列。
y = 2
workbook = openpyxl.load_workbook(file_location)
worksheet = workbook.worksheets[0]
worksheet.insert_cols(9)
现在,在这一部分中,我正在做的是将标题添加到使用上述代码创建的新空列中,并将其称为“新列”。
cell_title = worksheet.cell(row=1, column=9)
cell_title.value = 'New Column'
现在,我正在遍历包含要添加到我创建的新列中的数据的列表。这就是我使用变量 y 来简单说明我们将从第 2 行开始添加值的地方,因为在第 1 行我们有列的标题。因此,我们在第 2 行添加第一个值并递增变量,直到我们遍历整个列表。
for x in range(len(list)):
cell_to_write = worksheet.cell(row=y, column=9)
cell_to_write.value = list[x]
y += 1
最后,保存工作簿,新列应该有相应的数据
workbook.save('/Users/username/Desktop/Try1.xlsx')