python读取 xls,xlsx,csv,doc,docx,pdf 格式的文件

前言

利用python读取 xlsxlsxcsvdocdocxpdf 格式的文件
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 实现多种策略模式

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值