[python] csv와 xlsx 간에 데이터를 변환하는 방법

목차

1. xlsx에서 csv로 데이터 쓰기

        1. 팬더 사용

        2. 팬더를 사용하지 마십시오

2. csv에서 xlsx로 데이터 쓰기

        1. 팬더 사용        

        2. 팬더를 사용하지 마십시오


1. xlsx에서 csv로 데이터 쓰기

        1. 팬더 사용

        XLSX(Excel) 파일의 데이터를 CSV 파일로 쓰려면 Python의 pandas라이브러리를 사용할 수 있습니다.

        다음은 예제 프로그램입니다.

import pandas as pd

# 从XLSX文件读取数据
df = pd.read_excel('input.xlsx')

# 将数据写入CSV文件
df.to_csv('output.csv', index=False)

위의 예에서는 먼저 pd.read_excel()메서드를 사용하여 XLSX 파일에서 데이터를 읽고 DataFrame 개체로 저장합니다 df. 그런 다음 메서드를 사용하여 df.to_csv()데이터를 CSV 파일에 기록하는데, 이는 index=False인덱스 열이 포함되지 않았음을 나타냅니다.

pandas이 예제를 실행하기 전에 먼저 라이브러리를 설치해야 합니다 . 다음 명령을 사용하여 설치할 수 있습니다.

pip install pandas

위에서 설명한 방법을 사용하면 XLSX 파일의 데이터를 CSV 파일로 작성하여 다른 애플리케이션이나 환경에서 CSV 형식의 데이터를 사용할 수 있습니다. 

        2. 팬더를 사용하지 마십시오

pandas라이브러리를         사용하지 않는 경우 openpyxlcsv모듈을 사용하여 XLSX 파일의 데이터를 CSV 파일에 쓸 수 있습니다.

다음은 예제 프로그램입니다.

import openpyxl
import csv

# 打开XLSX文件
wb = openpyxl.load_workbook('input.xlsx')

# 选择第一个工作表
sheet = wb.active

# 打开CSV文件
with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)

    # 遍历工作表的行
    for row in sheet.iter_rows(values_only=True):
        writer.writerow(row)

# 关闭XLSX文件
wb.close()
  • 위의 코드에서 for row in sheet.iter_rows(values_only=True)루프 문은 워크시트의 각 데이터 행을 순회하는 데 사용됩니다.
  • sheet.iter_rows()openpyxl워크시트의 행을 반복하는 라이브러리에 있는 워크시트 개체의 메서드입니다. 를 설정하면 values_only=True셀 개체를 포함하는 튜플 대신 각 셀의 값을 직접 가져올 수 있습니다.
  • 각 루프에서 row변수는 현재 행의 데이터를 나타냅니다. 다음 코드 줄에서는 writer.writerow(row)현재 행의 데이터를 CSV 파일에 쓰는 데 사용합니다.
  • 를 사용하면 sheet.iter_rows(values_only=True)워크시트의 각 행을 쉽게 반복하고 복잡한 인덱스나 메서드를 사용하여 셀 값을 가져오지 않고도 그 안의 데이터에 액세스할 수 있습니다.

 

2. csv에서 xlsx로 데이터 쓰기

        1. 팬더 사용        

pandasCSV 파일에서 XLSX(Excel) 파일로 데이터를 쓰려면 Python의 라이브러리와 라이브러리         를 사용할 수 있습니다 openpyxl. pandas라이브러리는 CSV 파일을 읽고 처리하는 편리한 방법을 제공하며, openpyxl라이브러리는 Excel 파일을 만들고 쓰는 데 사용됩니다.

다음은 예제 프로그램입니다.

import pandas as pd

# 从CSV文件读取数据
df = pd.read_csv('input.csv')

# 创建Excel Writer对象
writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')

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

# 保存并关闭Excel文件
writer.save()
writer.close()

위의 예에서는 먼저 pd.read_csv()메서드를 사용하여 CSV 파일에서 데이터를 읽고 DataFrame 개체로 저장합니다 df. 그런 다음 Excel Writer 개체를 만들고 이를 openpyxl엔진으로 지정합니다. 다음으로 인덱스 열이 포함되지 않음을 나타내는 df.to_excel()메서드를 사용하여 Excel 파일에 데이터를 씁니다 . index=False마지막으로 를 writer.save()사용하여 Excel 파일을 저장하고 닫습니다. 

이 예제를 실행하려면 먼저 pandasopenpyxl라이브러리를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다. 

pip install pandas openpyxl

위의 방법을 통해 CSV 파일에서 XLSX 파일로 데이터를 편리하게 쓸 수 있고 필요에 따라 추가 Excel 파일 작업을 수행할 수 있습니다.

        2. 팬더를 사용하지 마십시오

pandas라이브러리를        사용하지 않는 경우 openpyxlcsv모듈을 사용하여 CSV 파일의 데이터를 XLSX 파일에 쓸 수 있습니다.

다음은 예제 프로그램입니다.

import openpyxl
import csv

# 创建新的XLSX文件
wb = openpyxl.Workbook()
sheet = wb.active

# 打开CSV文件
with open('input.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)

    # 遍历CSV文件的行
    for row in reader:
        sheet.append(row)

# 保存XLSX文件
wb.save('output.xlsx')
  • 위의 예에서는 먼저 새 XLSX 파일을 만들고 기본 활성 시트를 가져왔습니다(를 통해 wb.active). 그런 다음 내장 csv모듈을 사용하여 CSV 파일을 열고 csv.reader데이터를 읽을 개체를 만듭니다.
  • 다음으로 for row in reader루프를 사용하여 CSV 파일의 각 행을 반복하고 다음을 사용하여 sheet.append(row)XLSX 파일의 시트에 각 행을 추가합니다.
  • 마지막으로 wb.save()메서드를 사용하여 XLSX 파일을 저장합니다.

추천

출처blog.csdn.net/weixin_43569834/article/details/131406292