尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

从0开始重新学python+neo4j之文件读写、函数、异常

从0开始重新学python+neo4j之文件读写、函数、异常
📅 发布时间:2026/6/22 7:08:16
从0开始重新学python+neo4j之文件读写、函数、异常
# 导入 pandas 库,用于处理 Excel 和 JSON 数据
import pandas as pd
# 导入 json 模块,用于读写 JSON 文件
import jsondef writeJsonFile(filePath, data):"""将给定的数据写入指定路径的 JSON 文件中。:param filePath: 要写入的 JSON 文件路径(字符串):param data: 要写入的数据(通常是列表或字典)"""try:# 以写入模式('w')打开文件,指定 UTF-8 编码以支持中文with open(filePath, 'w', encoding='utf-8') as f:# 使用 json.dump 将数据序列化为 JSON 格式并写入文件# ensure_ascii=False 允许非 ASCII 字符(如中文)正常显示# indent=4 使输出格式美观,缩进 4 个空格json.dump(data, f, ensure_ascii=False, indent=4)except FileNotFoundError:# 如果文件路径无效或目录不存在,捕获异常并提示print(f"文件{filePath}找不到")def readJsonFileByJson(filePath):"""使用标准 json 模块读取并打印 JSON 文件内容。:param filePath: 要读取的 JSON 文件路径"""# 以只读模式打开 JSON 文件,使用 UTF-8 编码with open(filePath, 'r', encoding='utf-8') as f:# 使用 json.load 解析 JSON 文件内容并打印print(json.load(f))# 打印分隔线,便于区分输出内容print("-" * 50)def readJsonFileByPandas(filePath):"""使用 pandas 读取 JSON 文件,并逐行逐列打印每个单元格的值。:param filePath: 要读取的 JSON 文件路径"""# 使用 pandas 读取 JSON 文件,默认将 JSON 数组解析为 DataFramedf = pd.read_json(filePath)# 打印整个 DataFrame(表格形式)print(df)# 打印分隔线print("-" * 50)# 获取所有列名columns = df.columns# 遍历 DataFrame 的每一行(index 为行索引,row 为该行数据 Series)for index, row in df.iterrows():# 打印当前是第几行(从 1 开始计数)print(f"第{index + 1}行")# 遍历当前行的每一列for column in columns:# 获取该单元格的值value = row[column]# 如果值是 NaN(pandas 中的缺失值),则替换为字符串 "null"if pd.isnull(value):value = "null"# 打印格式:列名+行号: 值(例如:name1:张三)print(f"{column}{index + 1}:{value}")# 每行结束后打印较短的分隔线print("-" * 30)def readExcel(filePath, sheetName):"""读取指定 Excel 文件的指定工作表,并将其转换为 JSON 格式保存。:param filePath: Excel 文件路径:param sheetName: 要读取的工作表名称"""try:# 打印分隔线print("-" * 50)# 提示成功读取文件print(f"成功读取文件:{filePath}")print("-" * 50)# 使用 pandas 读取 Excel 文件中的指定工作表df = pd.read_excel(filePath, sheetName)# 打印数据的形状(行数、列数)print(f"数据形状{df.shape} 行数:{df.shape[0]} 列数: {df.shape[1]}")print("-" * 50)# 获取所有列名并转为列表columns = df.columns.tolist()print(f"列明:{columns}")print("-" * 50)# 将 DataFrame 中的 NaN 值替换为 None(便于后续 JSON 序列化时显示为 null)df = df.where(pd.notnull(df), None)# 将 DataFrame 转换为字典列表格式:# 每一行是一条记录(字典),整个结果是一个列表data = df.to_dict(orient='records')# 注释掉的另一种格式:以行索引为 key,整行为 value(orient='index')# 调用 writeJsonFile 函数,将转换后的数据写入 "jsonTest.json"writeJsonFile("jsonTest.json", data)except FileNotFoundError:# 如果 Excel 文件不存在,捕获异常并提示print(f"错误:找不到文件'{filePath}'")except Exception as e:# 捕获其他可能的异常(如格式错误、权限问题等)print(f"读取文件{filePath}时发生错误")# 主程序入口:当脚本直接运行时执行以下代码
if __name__ == "__main__":# 1. 读取名为 "testexcel.xlsx" 的 Excel 文件中名为 "Sheet1" 的工作表,#    并将内容转换为 JSON 格式保存到 "jsonTest.json"readExcel("testexcel.xlsx", "Sheet1")# 2. 使用标准 json 模块读取并打印 "jsonTest.json" 的内容readJsonFileByJson("jsonTest.json")# 3. 使用 pandas 读取同一个 JSON 文件,并按行列详细打印每个字段值readJsonFileByPandas("jsonTest.json")

 

相关新闻

  • 实用指南:Nestjs框架: 微服务事件驱动通信与超时处理机制优化基于Event-Based 通信及异常捕获实践
  • 2025 年 12 月纳米砂磨机,卧式砂磨机,工业砂磨机厂家最新推荐,产能、专利、环保三维数据透视!
  • 迅为RK3588开发板Android系统烧写及注意事项

最新新闻

  • 山东高考440-500分,能报考辽宁哪些大学?(2026最新) - 品牌2026
  • 终极指南:如何用OBS Virtual Cam插件打造专业级虚拟摄像头解决方案
  • LunaTranslator:如何轻松玩转日文GalGame的终极翻译解决方案
  • 生成式推荐中自回归预测与最大似然估计的等价性解析与实践指南
  • 报汉语言成考专升本,广东助学点通过率靠谱吗? - 一直爱学习的小花猫
  • Python字符串底层原理与工程实践指南

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号