얼마전 플래티넘 교환그룹에 [? ? ??]라는 팬이 얼핏 질문을 하더군요. , 아주 간단해 보이지만 실제로는 어려운 문제입니다. 아래 그림과 같습니다.
기존 아이디어를 따르는 경우 먼저 Excel 테이블을 열고 테이블이 하나만 있는 테이블인 경우 테이블의 마지막 열에 해당 테이블 이름을 추가합니다. 테이블 내용 행에서 이렇게 하면 됩니다. 3 x 5 나누기 2이면 충분합니다. 하지만 많은 테이블을 만나면 계속해서 하나씩 처리하면 매우 피곤해질 것입니다.
하지만 여기서는 문제를 해결하고 실수가 없는지 확인하기 위해 Python을 사용하여 사무를 자동화하는 방법을 소개하겠습니다. 전투는 몇 초 안에 완료됩니다.
실제로 [? ? ??]도 Python을 사용하여 해결하려고 했으나 몇 가지 문제가 발생하여 Excel 파일이 생성되었으나 후속 열 이름 쓰기가 실패하여 결국 Excel 테이블을 병합해야 했습니다. 실제로 여기에는 두 가지 요구 사항이 있습니다.
여기 [?(This is the back of the moon] boss]님이 제공한 코드가 있습니다.대체적인 아이디어는 실제로 동일하지만 구현 방법은 Python 프로그램을 사용하여 구현하면 효율성이 매우 다릅니다!
# coding: utf-8 # 给每个excel中的sheet增加一列,值为excel名.xlsx from pathlib import Path import pandas as pd path = Path(r'E:PythonCrawlerpython_crawler-masterMergeExcelSheetfile777') excel_list = [(i.stem, pd.concat(pd.read_excel(i, sheet_name=None))) for i in path.glob("*.xls*")] data_list = [] for name, data in excel_list: print(name) print(data) data['表名'] = name data_list.append(data) result = pd.concat(data_list, ignore_index=True) result.to_excel(path.joinpath('给每个excel中的sheet增加一列,值为excel名.xlsx'), index=False, encoding='utf-8') print('添加和合并完成!')
i.stem은 예를 들어 D:/와 같이 상위 노드와 접미사를 제외하고 파일 이름을 가져오는 것을 의미합니다. Desktop/ test.txt, i.stem은 테스트입니다!
# coding: utf-8 # 给每个excel中的sheet增加一列,值为excel名-sheet名.xlsx from pathlib import Path import pandas as pd path = Path(r'E:PythonCrawlerpython_crawler-masterMergeExcelSheetfile777') excel_list = [(i.stem, pd.concat(pd.read_excel(i, sheet_name=None))) for i in path.glob("*.xls*")] data_list = [] for name, data in excel_list: print(name) print(data) data['表名'] = name data.reset_index(level=0, inplace=True) # 重置level_0索引 data_list.append(data) result = pd.concat(data_list, ignore_index=True) result['表名'] = result['表名'] + '-' + result['level_0'] # 更改列值 del result['level_0'] # 删除多余列 result.to_excel(path.joinpath('给每个excel中的sheet增加一列,值为excel名-sheet名.xlsx'), index=False, encoding='utf-8') print('添加和合并完成!')
이 코드는 열 이름이 약간 다른 점을 제외하면 실제로 코드 1과 유사합니다. 왜냐하면 세 가지의 시트 이름이 예제에서 우수하기 때문입니다. 마찬가지로 테이블 이름을 접두사로 사용하고, 테이블 이름 - 시트 이름을 사용하세요.
코드가 실행되면 아래 그림과 같이 해당 Excel 파일이 코드 디렉터리에 자동으로 생성됩니다
. 엑셀 테이블에는 테이블 이름에 해당하는 컬럼명도 있고, 아래 그림과 같이 모든 테이블의 병합 기능도 구현되어 있습니다.
.
위 내용은 Python을 사용하여 Excel에 새 열을 일괄 추가하는 방법을 단계별로 설명합니다. 내용은 Excel 테이블 이름입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!