当前位置: 首页 > article >正文

Python读写各类数据文件

        Python 提供了多种强大的工具和库,可以轻松实现对各种类型文件的读写操作,满足不同场景的数据处理需求。常见的文件类型包括文本文件(txt)、表格文件(CSV、Excel)、结构化数据文件(JSON、YAML、XML)、二进制数据文件(Parquet)、数据库文件(SQLite),以及其他格式如日志文件(log)、压缩文件(ZIP)和PDF文件等。通过内置的 open 函数和标准库模块如 csvjsonsqlite3 等,以及第三方库如 pandasyamlfpdf 等,Python 能够快速实现对这些文件的读写操作。这种灵活性和多样性使得 Python 成为处理数据、开发应用和实现自动化工作的首选编程语言之一。

Python 读写 txt 文件
# 写入 TXT 文件
with open('example.txt', 'w', encoding='utf-8') as file:
    file.write("你好,Python 文件读写示例!\n第二行内容。")

# 读取 TXT 文件
with open('example.txt', 'r', encoding='utf-8') as file:
    content = file.read()
    print(content)
Python 读写 CSV 文件
import csv
# 写入 CSV 文件
with open('example.csv', 'w', newline='', encoding='utf-8') as file:
    writer = csv.writer(file)
    writer.writerow(["姓名", "年龄", "城市"])
    writer.writerow(["张三", 25, "北京"])
    writer.writerow(["李四", 30, "上海"])

# 读取 CSV 文件
with open('example.csv', 'r', encoding='utf-8') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)
Python 读写 Excel 文件
import pandas as pd
# 写入 Excel 文件
data = {'姓名': ['张三', '李四'], '年龄': [25, 30], '城市': ['北京', '上海']}
df = pd.DataFrame(data)
df.to_excel('example.xlsx', index=False)

# 读取 Excel 文件
df_read = pd.read_excel('example.xlsx')
print(df_read)
Python 读写 JSON 文件
import json
# 写入 JSON 文件
data = {'name': '张三', 'age': 25, 'city': '北京'}
with open('example.json', 'w', encoding='utf-8') as file:
    json.dump(data, file, ensure_ascii=False, indent=4)

# 读取 JSON 文件
with open('example.json', 'r', encoding='utf-8') as file:
    data_read = json.load(file)
    print(data_read)
Python 读写 SQLite 数据库
import sqlite3
# 创建 SQLite 数据库并写入数据
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('张三', 25))
conn.commit()

# 读取 SQLite 数据库数据
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
    print(row)
conn.close()
Python 读写 XML 文件
import xml.etree.ElementTree as ET
# 写入 XML 文件
root = ET.Element("root")
user = ET.SubElement(root, "user")
ET.SubElement(user, "name").text = "张三"
ET.SubElement(user, "age").text = "25"
tree = ET.ElementTree(root)
tree.write("example.xml", encoding='utf-8', xml_declaration=True)

# 读取 XML 文件
tree = ET.parse('example.xml')
root = tree.getroot()
for elem in root.iter():
    print(elem.tag, elem.text)
Python 读写 Parquet 文件
import pandas as pd
# 写入 Parquet 文件
data = {'姓名': ['张三', '李四'], '年龄': [25, 30], '城市': ['北京', '上海']}
df = pd.DataFrame(data)
df.to_parquet('example.parquet', index=False)

# 读取 Parquet 文件
df_read = pd.read_parquet('example.parquet')
print(df_read)
Python 读写 YAML 文件
import yaml
# 写入 YAML 文件
data = {'姓名': '张三', '年龄': 25, '城市': '北京'}
with open('example.yaml', 'w', encoding='utf-8') as file:
    yaml.dump(data, file, allow_unicode=True)

# 读取 YAML 文件
with open('example.yaml', 'r', encoding='utf-8') as file:
    data_read = yaml.safe_load(file)
    print(data_read)
Python 读写 INI 文件
import configparser
# 写入 INI 文件
config = configparser.ConfigParser()
config['DEFAULT'] = {'Server': 'localhost', 'Port': '8080'}
with open('example.ini', 'w', encoding='utf-8') as configfile:
    config.write(configfile)

# 读取 INI 文件
config.read('example.ini', encoding='utf-8')
print(dict(config['DEFAULT']))
 Python 读写 PDF 文件
from fpdf import FPDF
from PyPDF2 import PdfReader
# 写入 PDF 文件
pdf = FPDF()
pdf.add_page()
pdf.set_font('Arial', size=12)
pdf.cell(200, 10, txt="Python PDF 文件", ln=True, align='C')
pdf.output("example.pdf")

# 读取 PDF 文件
reader = PdfReader("example.pdf")
for page in reader.pages:
    print(page.extract_text())
Python 读写 ZIP 文件
import zipfile
# 写入 ZIP 文件
with zipfile.ZipFile('example.zip', 'w') as zipf:
    zipf.write('example.txt')

# 解压 ZIP 文件
with zipfile.ZipFile('example.zip', 'r') as zipf:
    zipf.extractall('output')
Python 读写 Log 文件
import logging
# 写入日志
logging.basicConfig(filename='example.log', level=logging.INFO, format='%(asctime)s - %(message)s')
logging.info("这是一个日志信息")
logging.warning("这是一个警告信息")
logging.error("这是一个错误信息")

# 读取日志
with open('example.log', 'r', encoding='utf-8') as file:
    logs = file.read()
    print(logs)


http://www.kler.cn/a/519700.html

相关文章:

  • React和Vue有什么区别,如何选择?
  • 被占用的电脑文件推沟里
  • 网络知识小科普--5
  • Spring Boot 自动配置
  • 关于使用微服务的注意要点总结
  • 2025发文新方向:AI+量化 人工智能与金融完美融合!
  • 学习数据结构(1)算法复杂度
  • JavaScript系列(44)--微服务架构实现详解
  • 【25考研】中科院软件考研复试难度分析!
  • leetcode 1358. 包含所有三种字符的子字符串数目
  • 【PostgreSQL内核学习 —— (WindowAgg(一))】
  • 基于vue框架的的信用社业务管理系统设计与实现4gnx5(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 包安装利用 LNMP 实现 phpMyAdmin 的负载均衡并利用Redis实现会话保持nginx
  • 如何优化企业的CRM流程管理?
  • 【知识图谱(2)】电影知识图谱构建
  • 【测试人生】变更风险观测的流程逻辑设计
  • Docker基础命令和配置镜像代理(最新)
  • 【竞技宝】DOTA2-裂变天地S1:XG遭遇二连败命悬一线
  • 二叉树的层序遍历||力扣--107
  • chrome插件:网页图片高清下载
  • 使用LPT wiggler jtag自制三星单片机(sam88 core)编程器-S3F9454
  • 网易Android开发面试题200道及参考答案 (上)
  • 左右互博02-frida主动调用so函数
  • vue3组件el-table报错
  • 【python】三帧差法实现运动目标检测
  • postman生成前端测试接口时,是在本地还是在线上?