在本文中,我們將處理 Excel (.xlsx) 文件到 .csv 的轉換。 Excel 中主要使用兩種格式:
- (*.xlsx):Excel Microsoft Office Open XML 格式電子表格文件。
- (*.xls):Excel 電子表格(Excel 97-2003 工作簿)。
讓我們考慮一個購物商店的數據集,其中包含存儲在 Excel 文件中的有關客戶序列號、客戶名稱、客戶 ID 和產品成本的數據。
在此處檢查所有使用的文件。
Python3
# importing pandas as pd
import pandas as pd
# read an excel file and convert
# into a dataframe object
df = pd.DataFrame(pd.read_excel("Test.xlsx"))
# show the dataframe
df
輸出:
現在,讓我們看看將 Excel 文件轉換為 CSV 文件的不同方法:
方法 1:使用 pandas 庫將 Excel 文件轉換為 CSV 文件。
Pandas 是一個開源軟件庫,專為 Python 編程語言的數據操作和分析而構建。它在數據結構和操作方麵提供了各種函數,用於操作數字表和時間序列。它可以讀取、過濾和 re-arrange 大小數據集,並以 Excel、JSON、CSV 等多種格式輸出。
讀取 excel 文件,使用 read_excel() 方法並將 DataFrame 轉換為 CSV 文件,使用 pandas 的 to_csv() 方法。
碼:
Python3
#importing pandas as pd
import pandas as pd
# Read and store content
# of an excel file
read_file = pd.read_excel ("Test.xlsx")
# Write the dataframe object
# into csv file
read_file.to_csv ("Test.csv",
index = None,
header=True)
# read csv file and convert
# into a dataframe object
df = pd.DataFrame(pd.read_csv("Test.csv"))
# show the dataframe
df
輸出:
方法 2:使用 xlrd 和 CSV 庫將 Excel 文件轉換為 CSV 文件。
xlrd 是一個主要用於讀取 excel 文件的庫。
csv 是一個主要用於讀取和寫入 csv 文件的庫。
碼:
Python3
# import all required library
import xlrd
import csv
import pandas as pd
# open workbook by sheet index,
# optional - sheet_by_index()
sheet = xlrd.open_workbook("Test.xlsx").sheet_by_index(0)
# writer object is created
col = csv.writer(open("T.csv",
'w',
newline=""))
# writing the data into csv file
for row in range(sheet.nrows):
# row by row write
# operation is perform
col.writerow(sheet.row_values(row))
# read csv file and convert
# into a dataframe object
df = pd.DataFrame(pd.read_csv("T.csv"))
# show the dataframe
df
輸出:
方法 3:使用 openpyxl 和 CSV 庫將 Excel 文件轉換為 CSV 文件。
openpyxl 是一個用於讀取/寫入 Excel 2010 xlsx/xlsm/xltx/xltm 文件的庫。它誕生於缺乏從 Python 本地讀取/寫入 Office Open XML 格式的現有庫。
碼:
Python3
# importe required libraries
import openpyxl
import csv
import pandas as pd
# open given workbook
# and store in excel object
excel = openpyxl.load_workbook("Test.xlsx")
# select the active sheet
sheet = excel.active
# writer object is created
col = csv.writer(open("tt.csv",
'w',
newline=""))
# writing the data in csv file
for r in sheet.rows:
# row by row write
# operation is perform
col.writerow([cell.value for cell in r])
# read the csv file and
# convert into dataframe object
df = pd.DataFrame(pd.read_csv("tt.csv"))
# show the dataframe
df
輸出:
相關用法
- Python JSON轉CSV用法及代碼示例
- Python CSV轉HTML Table用法及代碼示例
- Python CSV轉JSON用法及代碼示例
- Python XML轉CSV用法及代碼示例
- Python PDF轉CSV用法及代碼示例
- Python CSV File轉PDF File用法及代碼示例
- Python Excel轉PDF用法及代碼示例
注:本文由純淨天空篩選整理自abhishekkharmale大神的英文原創作品 Convert Excel to CSV in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。