python 0基础学习笔记11:读写不同类型的文件

读csv文件:

import csv
def readCsv(path):
    infolist = []
    with open(path,'r') as f:
        allFileInfo = csv.reader(f)
        for row in allFileInfo:#一行一行的拿数据
           infolist.append(row)#每一行是一个列表
    return infolist

path = r""
info = readCsv(path)

写csv文件:

import csv

def writeCsv(path,data):
    with open(path,'w) as f:
        writer = csv.writer(f)
        for rowData in data:
            writer.writerow(rowData)
path =  r""
writerCsv = (path,[[1,2,3],[4,5,6],[7,8,9]]

读取PDF文件:

import sys
import importlib
importlib.reload(sys)
from pdfminer.pdfparser import PDFParser,PDFDocument
from pdfminer.pdfinterp import PDFResourceManager,PDFPageInterpreter
from pdfminer.layout import LTTextBoxHorizontal,LAParams
from pdfminer.converter import PDFPageAggregator
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed

def readPDF(path,topath):
    # 以二进制形式打开pdf文件
    f = open(path,'rb')

    #创建一个pdf文件分析器
    parser = PDFParser(f)

    #创建pdf文档
    pdfFile= PDFDocument()

    #链接分析器与文档对象
    parser.set_document(pdfFile)
    pdfFile.set_parser(parser)
    #提供初始化密码
    pdfFile.initialize('')

    #检测文档是否提供txt转换
    if not pdfFile.is_extractable:
        raise PDFTextExtractionNotAllowed
    else:
        # 解析数据
        # 数据管理器
        manager = PDFResourceManager()
        #创建一个pdf设备对象
        laparams = LAParams()
        device = PDFPageAggregator(manager,laparams=laparams)
        #解释器对象
        interpreter = PDFPageInterpreter(manager,device)

        #开始循环处理
        for page in pdfFile.get_pages():
            interpreter.process_page(page)
            layout = device.get_result()
            for x in layout:
                if(isinstance(x,LTTextBoxHorizontal)):
                    with open(topath,'a') as f:
                        str = x.get_text()
                        print(str)
                        f.write(str+'\n')

path = r'E:\论文3\无序蛋白质的判定及其结构、功能和进化特征 .pdf'
topath = r'E:\论文3\无序蛋白质.txt'

readPDF(path,topath)

播放音乐:

pip install pygame

import time
import pygame

filePath = r'C:\Users\admin\Music\下雨了.mp3'

#初始化
pygame.mixer.init()
#加载音乐
track = pygame.mixer.music.load(filePath)
#播放
pygame.mixer.music.play()
time.sleep(10)#播放10秒音乐
pygame.mixer.music.pause()#暂停
pygame.mixer.music.stop()

修改背景图片:

win+R
输入regedit
HKEY_CURRENT_USER\Control Panel\Desktop
Wallpaper修改背景图片

import win32api
import win32con
import win32gui

def setWallPaper(path):
    # 打开注册表
    reg_key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,'Control Panel\\Desktop',0,win32con.KEY_SET_VALUE)
    #2拉伸 0居中 6适应 10填充
    win32api.RegSetValueEx(reg_key,'WallpaperStyle',0,win32con.REG_SZ,'6')
    # win32api.RegSetValueEx(reg_key,'WallPaper')
    #SPI_SETDWININCHANGE表示立即生效
    win32gui.SystemParameterInfo(win32con.SPIF_SETDWININCHANGE)

setWallPaper(r'F:\毕业写真\古装照\新建文件夹\03.jpg')

读取doc和docx文件:

import win32com
import win32com.client

def readWordFile(path):
    #调用系统word功能,可以处理doc和docx两种文件
    mw = win32com.client.Dispatch('Word.Application')
    #打开文件
    doc = mw.Documents.Open(path)
    for paragraph in doc.Paragraphs:
        line = paragraph.Range.Text
        print(line)
        #关闭文件
    doc.Close()
    #退出word
    mw.Quit()
path = r'F:\优胜教育\优胜教育个性化教学计划 高二上学期计划 刘方昊元.doc'
readWordFile(path)

读取doc和docx文件并写入其他文件:

import win32com
import win32com.client

def readWordFileToOtherFile(path,topath):
    #调用系统word功能,可以处理doc和docx两种文件
    mw = win32com.client.Dispatch('Word.Application')
    #打开文件
    doc = mw.Documents.Open(path)

    #x写入其他文件
    doc.SaveAs(topath,2)#2表示TXT文件
    doc.Close()
    #退出word
    mw.Quit()
path = r'F:\优胜教育\优胜教育个性化教学计划 高二上学期计划 刘方昊元.doc'
topath = r'F:\优胜教育\a.txt'

readWordFileToOtherFile(path,topath)

创建word文件:


import win32com
import win32com.client
import os

def makeWordFile(filename,name):
    word = win32com.client.Dispatch('Word.Application')
    word.Visible = True#让文档可见
    #创建文档
    doc = word.Documents.Add()
    #写内容,从头开始写
    r = doc.Range(0,0)#定位到最开始
    r.InsertAfter('亲爱的'+name+'\n')
    #存储文件
    doc.SaveAs(path)
    doc.Close()
    word.Quit()
names = ['张三','李四','王五']
for name in names:
    path = os.path.join(os.getcwd(),name)
    makeWordFile(path,name)

读取xlsx文件:

from openpyxl.reader.excel import load_workbook

def readXlsxFile(path):
    #打开文件
    file = load_workbook(filename = path)
    #获取所有表格的名称
    sheets = file.get_sheet_names()
    #拿出一个表格
    sheet = file.get_sheet_by_name(sheets[0])
    print(sheet.max_row)#最大行数
    print(sheet.max_column)#最大列数
    print(sheet.title)#表名儿

    #读取一张表的数据
    for lineNum in range(1,sheet.max_row + 1):
        for columnNum in range(1,sheet.max_column + 1):
            #拿数据
            value = sheet.cell(row = lineNum,column = columnNum).value
            # if value != None:
            lineList.append(value)


path = r'F:\优胜教育\2019年10月电子消课单-杨佳 .xls'
readXlsxFile(path)
from openpyxl.reader.excel import load_workbook

def readXlsxFile(path):
    dic = {}
    file = load_workbook(filename = path)
    #获取所有表格的名称,循环处理每一个sheet
    sheets = file.get_sheet_names()

    for sheetName in sheets:
        sheet = file.get_sheet_by_name(sheetName)
        sheetInfo = []
        for lineNum in range(1, sheet.max_row + 1):
            lineList = []
            for columnNum in range(1, sheet.max_column + 1):
                # 拿数据
                value = sheet.cell(row=lineNum, column=columnNum).value
                # if value != None:
                lineList.append(value)
            sheetInfo.append(lineList)

        #将一张表的数据存到字典里
        dic[sheetName] = sheetInfo
    return dic

path = r'F:\优胜教育\2019年10月电子消课单-杨佳 .xls'
readXlsxFile(path)

返回xlsx和xlsx文件内容:

在这里插入图片描述
百度云链接:https://pan.baidu.com/s/1KfnuXOJ_LGD9zEW0r9kOsw

写ppt:

将其封装成一个类,以后就可以直接用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值