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
我对 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