>  기사  >  백엔드 개발  >  Python을 사용하여 Excel을 자동화하는 방법은 무엇입니까?

Python을 사용하여 Excel을 자동화하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-05-07 23:04:272150검색

1. 엑셀을 구동하기 위해 흔히 사용하는 파이썬 라이브러리

엑셀을 구동하기 전에 먼저 파이썬과 관련 라이브러리를 설치해야 합니다. pip를 사용하여 다음 라이브러리를 설치하거나 전문 Python 클라이언트인 pycharm을 사용하여 Python 및 관련 라이브러리를 빠르게 설치할 수 있습니다.

  • pandas: Excel 파일 및 데이터 처리용

  • openpyxl: Excel 파일 읽기 및 쓰기용

  • xlrd: Excel 파일 읽기용

  • xlwt: Excel 파일 쓰기용

1. 타사 라이브러리 사용 openpyxl

openpyxl은 Excel 2010 xlsx/xlsm/xltx/xltm 파일을 읽고 쓰기 위한 Python 라이브러리입니다. Excel 파일을 읽고 쓸 수 있으며 여러 워크시트, 차트 등을 지원합니다.

샘플 코드:

import openpyxl

# 打开 Excel 文件
workbook = openpyxl.load_workbook('example.xlsx')

# 获取所有工作表名
sheet_names = workbook.sheetnames
print(sheet_names)

# 获取指定工作表
sheet = workbook['Sheet1']

# 获取单元格数据
cell = sheet['A1']
print(cell.value)

# 修改单元格数据
sheet['A1'] = 'Hello World'

# 保存 Excel 文件
workbook.save('example.xlsx')

2. 타사 라이브러리 사용 xlrd 및 xlwt

xlrd 및 xlwt는 각각 Excel 파일을 읽고 쓰는 데 사용되지만 Excel 2010 xlsx/xlsm/xltx/는 지원하지 않습니다. xltm 형식입니다.

샘플 코드:

import xlrd
import xlwt

# 打开 Excel 文件
workbook = xlrd.open_workbook('example.xls')

# 获取所有工作表名
sheet_names = workbook.sheet_names()
print(sheet_names)

# 获取指定工作表
sheet = workbook.sheet_by_name('Sheet1')

# 获取单元格数据
cell = sheet.cell(0, 0)
print(cell.value)

# 修改单元格数据
new_workbook = xlwt.Workbook()
new_sheet = new_workbook.add_sheet('Sheet1')
new_sheet.write(0, 0, 'Hello World')
new_workbook.save('example.xls')

3. Pandas 라이브러리 사용

pandas는 데이터 분석을 위한 Python 라이브러리입니다. Excel 파일을 읽고 쓰는 데에도 사용할 수 있지만 Excel 2010 xlsx/xlsm은 지원하지 않습니다. /xltx/xltm 형식입니다.

샘플 코드:

import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('example.xls', sheet_name='Sheet1')

# 获取单元格数据
value = df.iloc[0, 0]
print(value)

# 修改单元格数据
df.iloc[0, 0] = 'Hello World'
df.to_excel('example.xls', index=False)

2. Python에서 Excel을 작동하는 10가지 일반적인 방법

1. Excel 파일 읽기

Pandas 라이브러리의 read_excel() 함수를 사용하여 Excel 파일을 읽습니다. 샘플 코드는 다음과 같습니다.

import pandas as pd

# 读取Excel文件
df = pd.read_excel('example.xlsx')

2. Excel 파일에 쓰기

Pandas 라이브러리의 to_excel() 함수를 사용하여 Excel 파일에 데이터를 씁니다. 샘플 코드는 다음과 같습니다.

import pandas as pd

# 将数据写入Excel文件
df.to_excel('example.xlsx', index=False)

3. 행 또는 열 삽입

행 또는 열을 삽입하려면 pandas 라이브러리의 추가() 함수를 사용하세요. 샘플 코드는 다음과 같습니다.

import pandas as pd

# 插入行
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df = df.append({'A': 4, 'B': 7}, ignore_index=True)

# 插入列
df['C'] = [7, 8, 9, 10]

4. 행 또는 열 삭제

행 또는 열을 삭제하려면 pandas 라이브러리의 drop() 함수를 사용하세요. 샘플 코드는 다음과 같습니다.

import pandas as pd

# 删除行
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df = df.drop(1)

# 删除列
df = df.drop('B', axis=1)

5. 셀 값 수정

pandas 라이브러리의 at() 함수 또는 .iat() 함수를 사용하여 셀 값을 수정합니다. 샘플 코드는 다음과 같습니다.

import pandas as pd

# 修改单元格值
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df.at[1, 'B'] = 7

# 使用.iat()函数修改单元格值
df.iat[0, 1] = 8

6. 셀 값 찾기

pandas 라이브러리의 .loc() 함수 또는 .iloc() 함수를 사용하여 셀 값을 찾습니다. 샘플 코드는 다음과 같습니다.

import pandas as pd

# 查找单元格值
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
value = df.loc[1, 'B']

# 使用.iloc()函数查找单元格值
value = df.iloc[1, 1]

7. 데이터 정렬

데이터를 정렬하려면 pandas 라이브러리의 sort_values() 함수를 사용하세요. 샘플 코드는 다음과 같습니다.

import pandas as pd

# 对数据进行排序
df = pd.DataFrame({'A': [1, 3, 2], 'B': [4, 6, 5]})
df = df.sort_values(by='A')

8. 데이터 병합

데이터를 병합하려면 pandas 라이브러리의 merge() 함수를 사용하세요. 샘플 코드는 다음과 같습니다.

import pandas as pd

# 合并数据
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [1, 2, 4], 'C': [7, 8, 9]})
df = pd.merge(df1, df2, on='A')

9. 데이터 그룹화

데이터를 그룹화하려면 pandas 라이브러리의 groupby() 함수를 사용하세요. 샘플 코드는 다음과 같습니다.

import pandas as pd

# 分组数据
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
                   'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
                   'C': [1, 2, 3, 4, 5, 6, 7, 8]})
grouped = df.groupby(['A', 'B'])

10. 데이터 통계 계산

데이터 통계를 계산하려면 pandas 라이브러리의 explain() 함수를 사용하세요. 샘플 코드는 다음과 같습니다.

import pandas as pd

# 计算数据统计量
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
desc = df.describe()

위 내용은 Python을 사용하여 Excel을 자동화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제