我的编程空间,编程开发者的网络收藏夹
学习永远不晚

50. Python 数据处理(1)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

50. Python 数据处理(1)

今天开始往后都,用python3来写脚本

1.csv数据处理

csv文件格式:

逗号分隔符(csv),有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本的形式存储表格数据(数字和文本)。

纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

csv文件由任意数目的记录组成,记录间以某种换行符分割;每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。

csv数据,如以下格式:

27,20,14,15,14,12,94,64,37,1015,1013,1009,7,5,2,21,8,35,0.00,152

另外,csv文件可以直接用excel或者类似软件打开,样子都是我们常见的表格形式。


平常我们取文件内的数据存入列表一般用以下方法:

import codecs
lineText = list()
with codecs.open("sl_original_live.csv",encoding="utf-8") as f:
    for line in f.readlines():
        print (line.split(","))			#以列表形式,打印每一行的数据。
        lineText.append(line.split(","))
    print (lineText)				#把上面所有行作为元素数据,存入一个列表中。



csv模块用法,使用模块来处理数据:

import codecs
import csv
fileName = "sl_original_live.csv"
with codecs.open(fileName) as fcsv:
    linecsv = csv.reader(fcsv)
    rows = [row for row in linecsv]
    print (rows)

以上了解即可。



2.excel数据处理

python 提供有第三方库来支持excel的操作,python处理excel文件用的第三方模块库,有xlrd、xlwt、xluntils和pyExcelerator,

除此之外,python处理excel还可以用win32com和openpyxl模块.

我们主要用xlrd、xlwt、xluntils这三个模块,pyExcelerator模块偶尔也会用:

pip install xlrd
pip install xlwt
pip install xlutils
pip install pyExcelerator

xlrd 只能进行读取excel文件,没法进行写入文件;

xlwt 可以写入文件,但是不能在已有的excel的文件上进行修改;

xluntils 可以在已有的excel文件上进行修改;

pyExcelerator 与xlwt类似,也可以用来生成excel文件


读取表单数据:

举例:按行取数据

import xlrd
def readExcel():
    data = xlrd.open_workbook('test.xlsx')
    table = data.sheets()[0] 		# 打开第一张表
    nrows = table.nrows 			# 获取表的行数
    for i in range(nrows): 			# 循环逐行打印
        print(table.row_values(i))		#通过row_values来获取每行的值
        
if __name__ == '__main__':
    readExcel()


举例:按竖列取数据

import xlrd
data = xlrd.open_workbook("whsc.xlsx")
table2 = data.sheet_by_name("域名")  		#sheet标签页的名称
for col in range(table2.ncols):
    print (table2.col_values(col))


举例:创建新的并写入excel文件(xlwt无法修改原有文件)

import xlwt
excel = xlwt.Workbook()
#创建3个表
sheet1 = excel.add_sheet("sheet1")
sheet2 = excel.add_sheet("sheet2")
sheet3 = excel.add_sheet("sheet3")
#只在第一个表sheet1里写数据,如下:
sheet1.write(0,0,"hello world1", cell_overwrite_ok=True)
sheet1.write(1,0,"hello world2", cell_overwrite_ok=True)
sheet1.write(2,0,"hello world3", cell_overwrite_ok=True)
#第一个是行,第二个是列,第三个是内容,第二个参数用来确认同一个cell单元是否可以重设值。
excel.save("hello.xlsx")
print("创建hello.xlsx完成")

效果如下:

image.png


举例:字体效果

使用样式,字体类型、加粗等效果:

import xlwt
excel = xlwt.Workbook()
#创建3个表
sheet1 = excel.add_sheet("sheet1")
sheet2 = excel.add_sheet("sheet2")
sheet3 = excel.add_sheet("sheet3")
#初始化样式
style = xlwt.XFStyle()
#为样式创建字体
font = xlwt.Font()
font.name = 'Times New Roman'	#指定字体名称
font.bold = True				#是否加粗
#设置样式的字体
style.font = font
#使用样式
sheet3.write(0,1,'some bold Times text',style)
#保存该excel文件,有同名文件时直接覆盖
excel.save('hello.xlsx')
print('创建hello.xlsx文件完成!')

效果如下:

image.png



举例:处理超链接

import codecs
import xlwt
book = xlwt.Workbook()
sheet_index = book.add_sheet('index')
line=0
for i in range(9):
    link = 'HYPERLINK("{0}.txt", "{1}_11111")'.format(i, i)
    #{0}.txt是要链接的文件,{1}_11111是链接文件的内容
    sheet_index.write(i, 0, xlwt.Formula(link))
    #第一个行号,第二个列号,第三个是写入内容link,内容里面超链接
book.save('simple2.xlsx')
for i in range(0, 9):
    file = str(i) + ".txt"
    with codecs.open(file, 'w') as f:
        f.write(str(i)*10)

效果如下:

image.png


3.HTML文件转化成PDF文件

转换成pdf的三种方法:

在工作中,会遇到把html文件转换成pdf文件

python给我们提供了pdfkit这个模块,直接安装使用就可以了

下面就下来介绍一个pdfkit模块的几种用法

首先,我们安装该模块:

pip install pdfkit


1.网页转换成pdf(直接把url转换成pdf文件)

import pdfkit
pdfkit.from_url('http://google.com', 'out1.pdf')

2. Html转换成pdf

import pdfkit
pdfkit.from_file('test.html', 'out2.pdf')

3. 字符串转换成pdf

import pdfkit
pdfkit.from_string('Hello lingxiangxiang!', 'out3.pdf')

三种方法简单例子:

import pdfkit
pdfkit.from_file("hello.html", 1.pdf)
pdfkit.from_url("www.baidu.com", 2.pdf)
pdfkit.from_string("hello world", 3.pdf)

即可生成pdf文件~


举例:

抓取aming的linux教程,然后制作成pdf文件

先抓取每个的网页,然后生成pdf文件

(1)查看网页源代码

image.png


(2)查看源代码内容

image.png

和url对应规律

http://www.apelearn.com/study_v2/chapter2.html

http://www.apelearn.com/study_v2/chapter5.html

http://www.apelearn.com/study_v2/chapter7.html

... ...


通过 https://regex101.com/ 正则网站,把需要的字段给过滤出来

image.png


代码如下(未封装,回头有空封装一下):

import os
import re
import pdfkit
import requests

if not os.path.exists("aminglinux"):
    os.mkdir("aminglinux")

os.chdir("aminglinux")

url = "http://www.apelearn.com/study_v2/"
s = requests.session()
text = s.get(url).text
reg = re.compile(r'<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"(.*)\">.*<\/a><\/li>')
result = reg.findall(text)
res = list(set(result))

for i in res:
    purl = "{0}{1}".format(url, i)
    print (purl)
    pdfFileName = i.replace("html", "pdf")
    print (pdfFileName)
    config = pdfkit.configuration(wkhtmltopdf=r"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe")
    try:
        pdfkit.from_url(purl, pdfFileName, configuration=config)
    except:
        continue


执行结果:

image.png

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

50. Python 数据处理(1)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

50. Python 数据处理(1)

今天开始往后都,用python3来写脚本1.csv数据处理csv文件格式:逗号分隔符(csv),有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本的形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二
2023-01-31

python处理svg数据

我感觉python不能直接处理svg格式,所以想把它转化为png数据。昨天搞了一天,把svg转化为png格式,网上有专门的python插件,百度搜一下很多。但是装好后,发现有一个包已知报错。网上也有解决方案:如https://blog.cs
2023-01-31

企业数据安全治理1+3+1+1

数据安全的概念很大,也很丰富。笔者结合个人思考和实践,浅谈下企业数据安全治理的几点想法。

51. Python 数据处理(2)

1.Python 修改excel文件import xlrdimport xlutils.copyexcelr = xlrd.open_workbook("hello.xlsx")excelw = xlutils.copy.copy(exce
2023-01-31

python处理二进制数据

处理二进制数据离不开python的struct模块,struct理解上你可以把它理解为c语言的结构体,使用该模块的pack和unpack方法,可以很容易的把二进制数据转换为常用的类型数据,如整型、字符型等 结构体如下:struct Head
2023-01-31

python怎么处理json数据

在Python中,可以使用json模块来处理JSON数据。以下是处理JSON数据的一些常见操作:1. 解析JSON数据: 使用json.loads()函数可以将JSON格式的字符串解析为Python对象(通常是字典或列表)。python
2023-10-18

python数据分析系列(1)

目录 python基础 python语言基础 Ipython的一些特性 Python语法基础 Python控制流 lambda表达式
2023-01-31

Python大数据处理模块Pandas

Pandas使用一个二维的数据结构DataFrame来表示表格式的数据,相比较于Numpy,Pandas可以存储混合的数据结构,同时使用NaN来表示缺失的数据,而不用像Numpy一样要手工处理缺失的数据,并且Pandas使用轴标签来表示行和
2023-01-31

Python海量数据处理之_Hadoop

1. 说明 前两篇分别介绍了Hadoop的配置方法和基本原理,本篇将介绍如何让程序借助Hadoop调用服务器集群中的算力。Hadoop是Java语言实现的,它不仅支持Java,还支持C++,Python等程序的分布计算。下面以Python为
2023-01-31

Python处理流式数据输出

通过以下方法,可以有效地在Python中使用requests库实现流式输出,适用于各种需要按块处理数据的场景。

Python中怎么处理大数据

本篇文章为大家展示了Python中怎么处理大数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。import pandas as pd import collections df = pd.read_
2023-06-16

python怎么处理表格数据

Python 可以使用多种库来处理表格数据,其中最流行的是 pandas 库。使用 pandas 可以读取、处理和分析表格数据。下面是一些常见的操作:1. 读取表格数据:可以使用 pandas 的 `read_csv()` 函数来读取 CS
2023-09-15

python流化数据怎么处理

要处理Python中的流数据,可以使用以下方法之一:使用标准输入/输出流:可以使用sys.stdin和sys.stdout来处理输入和输出流。例如,可以使用sys.stdin.readline()读取一行输入,使用print()函数将数据输
python流化数据怎么处理
2024-02-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录