前言
利用python读取 xls,xlsx,csv,doc,docx,pdf 格式的文件
python版本3.10.4
读取xls
pip install xlrd==2.0.1
wps的.et文件也可以读取
import xlrd
wb = xlrd.open_workbook(path)
# 获取所有工作表
for index,value in enumerate(wb.sheet_names()):
sheet = wb[index]
# 获取工作表总行数
rows = sheet.nrows
# 获取工作表总列数
cols = sheet.ncols
# 总行,总列
# 获取某一单元格内容(行, 列),列表从0开始r
for r in range(0, rows):
for c in range(0, cols):
if sheet.cell(r, c).value:
print(sheet.cell(r, c).value)
读取xlsx
pip install openpyxl==3.1.1
import openpyxl
# 获取工作簿对象
wb = openpyxl.load_workbook(path)
# 获取所有工作表
for index,value in enumerate(wb.sheetnames):
sheet = wb[wb.sheetnames[index]]
# 获取工作表总行数
rows = sheet.max_row
# 获取工作表总列数
cols = sheet.max_column
# 总行,总列
# 获取某一单元格内容(行, 列),列表从1开始r
for r in range(1, rows + 1):
for c in range(1, cols + 1):
if sheet.cell(row=r, column=c).value:
print(sheet.cell(row=r, column=c).value )
wb.close()
读取docx
from docx import Document
document = Document(path)
for paragraph in document.paragraphs:
print(paragraph.text)
读取doc
需要先转为 docx,然后通过 docx 的方式读取
import win32com.client as wc
import os
import pythoncom
# 解决 “尚未调用 CoInitialize” 问题
pythoncom.CoInitialize()
word = wc.Dispatch("Word.Application")
# doc文件另存为docx,隐藏操作,不然会显示打开文件
word.Visible = False
# 文件名包含空格会报错
os.rename(path, path.replace(" ", ""))
doc = word.Documents.Open(path.replace(" ", ""))
doc.SaveAs(path[:-4] + ".docx", 12)
doc.Close()
word.Quit()
读取pdf
安装 pip install pdfplumber==0.7.3
import pdfplumber
with pdfplumber.open(path) as pdf:
for index,value in enumerate(pdf.pages):
print(value.extract_text())
读取csv
import csv
with open(path, "r") as f:
reader = csv.reader(f)
for row in reader:
print(row)
Python 系列:
读取文件 – 使用 python 读取 xls,xlsx,csv,doc,docx,pdf 格式的文件
阅读小工具 – 使用 python 开发无边框窗体阅读小工具
操作xlsx文件 – 使用 openpyxl 技术对 xlsx 的各种操作
前端系列:
扫雷游戏 – JavaScript 仿造 windows 编写 扫雷游戏
前端工具库 xlsx 处理表头合并 – 如何使用 xlsx 技术处理复杂的表头合并
CSS 布局技巧 – 对整体布局的心得体会
NVM Node 多版本控制教程 – Node 版本控制神器 NVM
Spring 系列:
Spring部署 – Spring 的多种 linux 部署方式
Spring实现策略模式 – 通过 Spring 实现多种策略模式