如何要把xls文件轉(zhuǎn)換成xlsx文件?
大家好,我是皮皮。
一、前言
前幾天在Python白銀交流群【FN】問了一個(gè)Python處理Excel文件的問題,提問截圖如下:
其實(shí)說白了,她是想要把xls文件轉(zhuǎn)換成xlsx文件。
方便后面的數(shù)據(jù)處理。
下面是她自己寫的代碼。
from docxtpl import DocxTemplate
from openpyxl import load_workbook
import os
def replace(obj):
if obj is None:
obj = ''
return obj
# 加載要填入的數(shù)據(jù)
wb = load_workbook(r"D:\用戶目錄\Desktop\DCC運(yùn)費(fèi)\222.xlsx")
ws = wb['Sheet1']
contexts = []
for row in range(2, ws.max_row + 1):
name = ws["D" + str(row)].value
dcc = ws["O" + str(row)].value
dcc = str(dcc).split('.')[0] + '.' + str(dcc).split('.')[1][:2]
context = {"name": name, "dcc": dcc}
contexts.append(context)
contexts
os.mkdir("./運(yùn)費(fèi)")
for context in contexts:
print(context)
tpl = DocxTemplate(r"D:\用戶目錄\Desktop\DCC運(yùn)費(fèi)\運(yùn)費(fèi)計(jì)算說明.docx")
tpl.render(context)
tpl.save("./運(yùn)費(fèi)/DCC運(yùn)費(fèi){}.docx".format(context["name"]))
二、實(shí)現(xiàn)過程
這里【瑜亮老師】給了一個(gè)代碼,使用Pandas兩行代碼搞定。
import pandas as pd
df = pd.read_excel('test9-11.xls', header=None)
df.to_excel('test9-11.xlsx', index=False, header=None)
后來【此類生物】還提供了一個(gè)思路,使用xlrd庫進(jìn)行實(shí)現(xiàn)。
不過后面在運(yùn)行的時(shí)候發(fā)現(xiàn)還是一大堆問題,后來才發(fā)現(xiàn)是導(dǎo)出的文件問題,代碼還是沒啥問題的。
三、總結(jié)
大家好,我是皮皮。這篇文章主要盤點(diǎn)了一個(gè)Python基礎(chǔ)的問題,文中針對(duì)該問題,給出了具體的解析和代碼實(shí)現(xiàn),幫助粉絲順利解決了問題。