python编程快速上手--重点整理(下)

第十二章--处理excel电子表格(P218)

  • 主要是学习openpyxl模块,因为书本上是2.1版本的,但是现在已经更新到了2.5版本了,期间还是有很多不一样的地方,可以学习openpyxl的文档。
  • 2.4版本文档:点击打开链接
  • 2.5版本文档:点击打开链接
  • 书本上2.1的版本,2.4/2.5有几个不同的地方:
  • (1)没有get_highest_row()和get_highest_column()方法,用啥代替没找到
  • (2)column_index_string()和get_column_letter()函数在openpyxl.utils.cell模块下
  • (3)没有Style对象,worksheet对象有font属性,直接将Font对象赋值即可
  • (4)图表也有些不同


第十三章--处理pdf和word文档

  • ★PyPDF2没有办法从PDF中提取图像,图标或其他媒体。但它可以提取文本,并将文本返回给python字符串。
  • ★处理PDF文档(P244)
  • 注意:pdf名字好像不能是中文名,而且会出现以下的错误,不知什么原因:

  • ★word文档(P253)
  • 利用python-docx模块,python可以创建和修改word文档,但是好像它只能处理.docx文件。注意,在导入python-docx模块的时候是import docx而不是import python-docx。
  • ★python-docx用三种不同的类型来表示docx文件,Document对象表示整个文档,Document对象包含一个Paragraph对象的列表,表示文档中的段落,每个Paragrapgh对象对象都包含一个Run对象的列表。一个Run对象就是相同样式文本的延续,当文本的样式发生改变时,就需要一个新的Run对象(简单来说,就是不同样式的字符的分割,例如字体变粗变斜体都会产生新的run对象)。

  • ★利用paragraph对象和run对象的style属性可以设置他们的样式,通过run对象的text属性可以进一步设置样式,例如粗体,斜体,下划线等等。(P255-P258)
  • ★创建新的docx文件。调用add_paragraph()方法,添加新的段落。调用paragraph对象的add_run()方法可以在段落后面添加新的内容。add_paragraph()和add_run()方法都接受第二个参数,表示paragraph或者run对象的样式。
  • import docx
    
    doc=docx.Document()
    doc.add_paragraph('hello world','Title')
    parag2=doc.add_paragraph('this is a test.docx')
    parag2.add_run('这是parag2新添加的内容')
    doc.save('test.docx')
    

  • ★添加标题add_heading('header',0),其中参数0-4表示不同的标题样式,其实就是字体的大小不一样。
  • 添加图像add_picture()方法,可选的width和height关键字参数,将设置图像在文档中的宽度和高度。如果省略,则采用默认值。
  • import docx
    from docx import text,shared
    doc=docx.Document('test.docx')
    doc.add_heading('header',0)
    doc.add_picture('pic.png')
    #doc.add_picture('pic.png',width=shared.Inches(1),height=shared.Cm(4))
    doc.save('test.docx')
    

第十四章--处理CSV文件和JSON数据

  • ★xlsx和csv文件的不同之处

  • ★csv文件的特性:
  • (1)值没有类型,所有的东西都是字符串
  • (2)没有字体大小和颜色的设置
  • (3)没有多个工作表
  • (4)不能指定单元格的宽度和高度
  • (5)不能合并的单元格
  • (6)不能嵌入图像或图表
  • (7)可以使用文本编辑器打开,以逗号作为单元格的分隔符
  • ★Reader对象(P266)
  • 用csv模块从csv文件中读取数据,需要创建一个Reader对象,Reader对象可以让你迭代遍历csv文件中的每一行。在Reader对象上应用list()函数,将返回一个列表的列表,每一行是一个列表,而所有的行又组成一个列表,可以通过下标的方式访问值。

  • ★循环读取Reader对象的数据
  • 调用Reader对象的line_num变量可以显示当前行的编号,注意,Reader对象只能循环遍历一次,要再次读取csv文件,需要调用csv.reader创建新的对象
  • import csv
    
    file=open('example.csv')
    reader=csv.reader(file)
    
    for row in reader:
        print('#'+str(reader.line_num)+' '+str(row))
    


  • ★Writer对象(P268)
  • Writer对象让你将数据写入csv文件。使用csv.writer()函数创建Writer对象。
  • 注意,在windows上,需要为open()函数的newline关键字传入一个空字符串,否则csv中的行距将有两倍。writerow()方法接受一个列表参数,返回字符个数(包括换行字符)
  • import csv
    
    file=open('output.csv','w',newline='')
    writer=csv.writer(file)
    
    writer.writerow(['a','sdgfasd','dcat','sf'])
    writer.writerow([1,2,34,2.55,23])
    file.close()
    ★csv.writer()函数中的参数delimiter和lineterminator
  • delimiter是文本中的分隔符,分隔符是一行中单元格之间出现的字符。csv默认的分隔符是逗号。
  • lineterminator是行终止字符,行终止字符是出现在行末的字符。csv默认的行终止字符是换行符。
  • import csv
    
    file=open('output.csv','w',newline='')
    writer=csv.writer(file,delimiter='\t',lineterminator='\n\n')
    
    writer.writerow(['a','sdgfasd','dcat','sf'])
    writer.writerow([1,2,34,2.55,23])
    file.close()


  • ★JSON不能存储每一种python值,它只能包含以下数据类型的值:字符串,整型,浮点型,布尔型,列表和字典和NoneType。JSON不能表示python特有的对象,例如File对象,CSV Reader对象等等。
  • 利用loads()函数将JSON数据的字符串转化为Python的值。注意,JSON字符总是用双引号。

  • ★利用dumps()函数将python值转化为JSON格式的字符串。python的值只能是以下类型:字典,列表,整型,浮点型,字符串,布尔型或None。
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我无法直接编写前110页的内容,但我可以给你一些基本的Python编程知识和示例代码,以帮助你开始自动化繁琐的工作。 1. 使用Python打开文件 ``` # 打开一个文件 f = open('file.txt', 'r') # 读取文件内容 content = f.read() # 关闭文件 f.close() ``` 2. 使用Python写入文件 ``` # 打开一个文件 f = open('file.txt', 'w') # 写入内容 f.write('Hello, World!') # 关闭文件 f.close() ``` 3. 使用Python处理Excel文件 ``` # 导入 openpyxl 库 import openpyxl # 打开 Excel 文件 wb = openpyxl.load_workbook('example.xlsx') # 获取表格 sheet = wb['Sheet1'] # 读取单元格的值 value = sheet['A1'].value # 写入单元格的值 sheet['A1'] = 'Hello, World!' # 保存文件 wb.save('example.xlsx') ``` 4. 使用Python发送邮件 ``` # 导入 smtplib 库 import smtplib # 连接邮箱服务器 server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() # 登录邮箱账号 server.login('[email protected]', 'your_password') # 发送邮件 msg = 'Hello, World!' server.sendmail('[email protected]', '[email protected]', msg) # 关闭连接 server.quit() ``` 5. 使用Python处理文本 ``` # 读取文本文件 f = open('file.txt', 'r') content = f.read() f.close() # 替换文本 new_content = content.replace('Hello', 'Hi') # 写入文本文件 f = open('file.txt', 'w') f.write(new_content) f.close() ``` 这些示例代码只是Python编程的基础,还有很多其他的功能和库可以用于自动化繁琐的工作。希望这些代码可以帮助你入门Python编程

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值