Python基础——PyCharm版本——第八章、文件I/O(核心3、csv和excel解析)

简介: Python基础——PyCharm版本——第八章、文件I/O(核心3、csv和excel解析)

CSV前言

CSV(Comma-Separated Values,中文逗号分隔值或字符分隔值)是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用,也应用于程序之间转移表格数据。


CSV并不是一种单一的、定义明确的格式,泛指具有以下特征的任何文件: 纯文本,使用某个字符集,如ASCII、Unicode、EBCDIC或GB2312。 由记录组成(典型的是每行一条记录)。 每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格)。 每条记录都有同样的字段序列。


数据格式

1 王语嫣 16 琅嬛福地,神仙姐姐
2 小龙女 17 终南山下,活死人墓,神雕侠侣,绝世江湖
3 赵灵儿 15 灵蛇岛,逍遥哥哥的小太妹

image.png


读取操作: (编码格式,通常使用utf-8,如果文件编码不符会报错)

import csv
# 文件获取
file = open('test.csv', 'r', encoding="utf-8")
# 内容读取
list1 = csv.reader(file)
# 信息遍历
for line in list1:
    for item in line:
        print(item, end=" ")
    print()

写入操作:

import csv
# 文件获取
file = open('test.csv', 'w+', encoding="utf-8")
# 写入操作
writer = csv.writer(file)
# 按照行写入
writer.writerow(['1', '王语嫣', '16', "琅嬛福地,神仙姐姐"])
data = [('2','小龙女', '17', '终南山下,活死人墓,神雕侠侣,绝世江湖'),
        ('3','赵灵儿', '15', '灵蛇岛,逍遥哥哥的小太妹')]
# 写入多行记录
writer.writerows(data)
# 刷新文件
file.flush()
# 关闭文件流
file.close()


EXCEL前言

Python读写Excel文档需要安装和使用xlrd模块,Excel文件写入需要使用xlwt模块。


写入XLS

这里用到的包是:【import xlwt】


需要进行下载:【pip install xlwt】


import xlwt
# 创建内容的样式对象,包括字体样式以及数字的格式
wb = xlwt.Workbook()
ws = wb.add_sheet('Sheet1')  # 添加一个sheet
# 需要将中文通过u""的形式转换为unicode编码
data = [[u"编号", u"姓名", u"年龄", u"简介"],
        [1, u"王语嫣", 16, u"琅嬛福地,神仙姐姐"],
        [2, u"小龙女", 17, u"活死人墓,冰山美人"],
        [3, u"赵灵儿", 31, u"灵蛇岛上,戚戚艾艾"]
        ]
for i in range(0, data.__len__()):  # 循环遍历每一行
    for j in range(0, data[i].__len__()):  # 循环遍历第i行的每一列
        ws.write(i, j, data[i][j])
wb.save("test.xls")


image.png

image.png


能确定生成了【test.xls】文件,这里别写【xlsx】,因为【xlwt】不支持【xlsx】操作。


读取XLS

这里用到的包是:【import xlrd】


需要进行下载:【pip install xlrd】



image.png

测试表格(刚刚通过【xlwt】生成):



image.png

import xlrd
workbook = xlrd.open_workbook('test.xls')  # 打开Excel文件读取数据
print(workbook.sheet_names())  # 获取所有sheet
# sheet2 = workbook.sheet_names()[0] #第一种方式,根据下标获取
sheet = workbook.sheet_by_index(0)  # 第二种方式,根据sheet索引获取sheet对象,索引从0开始
sheet = workbook.sheet_by_name('Sheet1')  # 第三种方式,根据sheet名称获取sheet对象
print(sheet.name, sheet.nrows, sheet.ncols)  # sheet的名称、行数和列数
# 获取整行和整列的值(数组)
rows = sheet.row_values(2)  # 获取第三行内容
cols = sheet.col_values(2)  # 获取第三列内容
print(str(rows), '\n', cols)
# 获取单元格内容
print(sheet.cell(1, 0).value, end=" ")
print(sheet.cell_value(1, 0), end=" ")
print(sheet.row(1)[0].value, end=" ")
print(sheet.cell(1, 0).ctype)  # 获取单元格内容的数据类型
print("\n--------------------------------------\n")
# 遍历
for row in sheet:
    print(row[0], row[1], row[2], row[3])

image.png

相关文章
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
2721 2
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
2106 68
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
416 0
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
存储 安全 大数据
网安工程师必看!AiPy解决fscan扫描数据整理难题—多种信息快速分拣+Excel结构化存储方案
作为一名安全测试工程师,分析fscan扫描结果曾是繁琐的手动活:从海量日志中提取开放端口、漏洞信息和主机数据,耗时又易错。但现在,借助AiPy开发的GUI解析工具,只需喝杯奶茶的时间,即可将[PORT]、[SERVICE]、[VULN]、[HOST]等关键信息智能分类,并生成三份清晰的Excel报表。告别手动整理,大幅提升效率!在安全行业,工具党正碾压手动党。掌握AiPy,把时间留给真正的攻防实战!官网链接:https://www.aipyaipy.com,解锁更多用法!
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
3129 10
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
1110 4
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
331 0

热门文章

最新文章

推荐镜像

更多