PYTHON: 如何添加一个列到 Excel Sheet 与多个 Sheets

PYTHON: How to add a column to Excel Sheet with multiple Sheets

我对 python 比较陌生,并且尝试了我在整个网站上看到的几种不同的方法,但似乎都无法满足我的需要。

我有一个 excel 文件,包含两列信息和多个 sheet。我想用 header "System" 为每个 sheet 添加一列。在 header 下,我需要将 sheet 1 中的所有单元格填充为 "System 1",对于 sheet 2 "System 2"。每个sheet的条目数量不同,都超过1000。

最后,我想将所有 sheet 合并在一起,形成一个主文件,这是我能够弄清楚的,但我似乎可以为个人 sheet 添加一列秒。以下是我目前的代码:

import pandas as pd 
import openpyxl
import pprint 

fileName= input("Enter file name here (Case Sensitve) > ")

df = pd.read_excel(fileName +'.xlsx', sheetname=None, ignore_index=True)
xl = pd.ExcelFile(fileName +'.xlsx')

df1 = pd.read_excel(xl, 'System 1')
df2 = pd.read_excel(xl, 'System 2')
df3 = pd.read_excel(xl, 'System 3')
df4 = pd.read_excel(xl, 'System 4')
df5 = pd.read_excel(xl, 'System 5')

excel 文件看起来是这样的:

employee_number email
7000            test1@test.com
11552           test2@test.com
21356           test3@test.com
21365           test4@test.com
22022           test5@test.com
24280           test6@test.com
26279           test7@test.com

一份文档中有 5 个 sheet 与此类似。

有几种方法可以解决这个问题。根据我的经验,导入和导出(特别是导出)Excel 格式文件可能会出现问题。

import pandas as pd
import numpy as np

df = pd.read_excel('Sample - Superstore.xls')
df['a_new_col'] = np.random.rand()
df.to_excel('New_Excel_File.xlsx')

这将导入第一个工作表,创建一个 df,并将其导出到一个新的 Excel 文件。

如果您只想创建一个新列,语法很简单:

df['new_col'] = some_data

要导入 Excel 文件的所有工作表,请参阅 Using Pandas to pd.read_excel() for multiple worksheets of the same workbook

您可能还想尝试合并、加入或串联数据帧,然后导出它们。 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.concat.html