常见的数据文件类型如下:
-
txt
-
csv
-
excel(xlsxlsx)
-
在线 页数据
-
pdfword
-
其他数据软件格式
1 txt文件
更多参考:https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files
文件读取
输出如下:
[‘010杜甫:佳人’, ”, ‘绝代有佳人,幽居在空谷。’, ‘自云良家子,零落依草木。’, ‘关中昔丧乱,兄弟遭杀戮。’, ‘官高何足论,不得收骨肉。’, ‘世情恶衰歇,万事随转烛。’, ‘夫婿轻薄儿,新人美如玉。’, ‘合昏尚知时,鸳鸯不独宿。’, ‘但见新人笑,那闻旧人哭!’, ‘在山泉水清,出山泉水浊。’, ‘侍婢卖珠回,牵萝补茅屋。’, ‘摘花不插发,采柏动盈掬。’, ‘天寒翠袖薄,日暮倚修竹。’]
也可以用pandas来读取
输出如下:
3 excel(xlsxlsx)文件
pandas工具包中也提供了相应的函数来读写excel文件(和)。
更多参考:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html#pandas.read_excel
不同于csv文件,xlsx文件中会有多个sheet,pandas.read_excel函数默认读取第一个sheet.
如果我们是想在单元格颗粒度上进行操作,可以考虑两个工具包:
-
xlwings, https://www.xlwings.org/
-
openpyxl, https://openpyxl.readthedocs.io/en/stable/
这里用xlwings示范自动化“填表”,比如现在有3个项目对应的3个单元格需要填写。

如果要批量从多个统一格式的excel文件中读取多个单元格或者写入数据,不妨考虑此方法。
4 在线 页数据
在线 页数据通常需要 络爬虫来抓取,同时 页是半结构化的数据,需要整理为结构化的数据。
注:关于 络爬虫可以参考O’REILLY的书Web Scraping with Python: Collecting More Data from the Modern Web).
页数据的爬取和解析常会用到的工具包:
-
requests, https://2.python-requests.org//zh_CN/latest/user/quickstart.html
-
BeautifulSoup, https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.html
-
lxml, https://lxml.de/, 笔者最喜欢用的工具包之一
-
re, https://docs.python.org/3/library/re.html,正则化是数据清洗中必学的技能之一,更多参考https://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
-
json, https://docs.python.org/3/library/json.html, 处理json格式数据
-
pandas, https://pandas.pydata.org/pandas-docs/stable/index.html,将数据保存为dataframe
通常 络爬虫的步骤如下:
-
分析 页请求规范,比如是get还是post,请求的url是啥,返回的数据是什么格式(json态html,header参数,url或者post中的变量有什么等;
-
获取 页数据,使用requests包;
-
解析 页数据(将半结构化的 页数据转化为结构化数据),BeautifulSoup、lxml、re、json齐上阵;
-
整合数据并存档,使用pandas对数据进行整合并初步清洗。
5 PDFWord
5.1 读取PDF文件
对于pdf文件而言,如果要对文档操作(比如合并、筛选、删除页面等),建议使用的工具包:
-
PyPDF2, http://mstamy2.github.io/PyPDF2/
-
pdfrw, https://github.com/pmaupin/pdfrw
更多参考:https://www.binpress.com/manipulate-pdf-python/
处理pdf文件时,要注意文件需要是“已解密”或者“无密码”状态,“加密”状态的文件处理时会 错。
pdf解密工具推荐:
-
http://freemypdf.com/
-
https://smallpdf.com/unlock-pdf
这里举例说明PyPDF2的用法,筛选奇数页面并保存为新文档。
如果要解析pdf文件的页面数据(文件上都写了啥),推荐的工具包为:
-
, https://textract.readthedocs.io/en/stable/,该工具包支持多种格式文件的数据提取
-
, https://github.com/pdfminer/pdfminer.six,使用方法同pdfminer是一样的。pdfminer的使用方法参考http://www.unixuser.org/~euske/python/pdfminer/
安装好后,直接在命令行中调用如下命令即可:
或者参考https://stackoverflow.com/questions/26494211/extracting-text-from-a-pdf-file-using-pdfminer-in-python可以自定义一个函数批量对pdf进行转换(文末附有该函数)。
使用示例如下
5.2 读取Word文件
可以使用工具包,https://python-docx.readthedocs.io/en/latest/
操作word的场景相对少见,参考 站的示例即可。
6 其他数据软件文件
比如SAS, SPSS,Stata等分析软件导出的数据格式。
可以使用的工具包, https://github.com/Roche/pyreadstat
示例数据下载: https://pan.baidu.com/s/1iGU5vjDrwGzBswbxsC714Q 提取码: sjgz
更多参考
-
https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html
-
Automate the Boring Stuff with Python: Practical Programming for Total Beginners
附PDF文件转字符串的函数
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树数据分析CSV文件209413 人正在系统学习中 相关资源:翠雨方工作备忘录工具v2.31中文绿色版-其它代码类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!