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

用Python打开不同联类型的文件

        在 Python 中,你可以使用不同的模块来打开和处理各种类型的文件(如文本文件、CSV、Excel、JSON、PDF、数据库等)。以下是一些常见文件类型的处理方法,以及如何将它们读取到 pandas.DataFrame 中:

 一、文本文件(.txt)

1. 打开并读取内容

with open("example.txt", "r", encoding="utf-8") as file:content = file.read()print(content)

2. 写入内容

with open("example.txt", "w", encoding="utf-8") as file:file.write("Hello, world!")

二、CSV 文件(.csv)

1. 使用 pandas 读取(推荐)

import pandas as pd
df = pd.read_csv("example.csv")
print(df.head())

2. 手动读取(适用于简单解析)

import csv
with open("example.csv", newline="", encoding="utf-8") as csvfile:reader = csv.reader(csvfile)for row in reader:print(row)

✅ 注意:Excel 文件读取需要 openpyxlxlrd 作为引擎。

 四、JSON 文件(.json)

1. 读取 JSON 文件到 Python 字典

import json
with open("example.json", "r", encoding="utf-8") as f:data = json.load(f)print(data)

2. 将 JSON 数据读入 DataFrame(适用于结构化数据)

import pandas as pd
with open("example.json", "r", encoding="utf-8") as f:data = json.load(f)
df = pd.DataFrame(data)
print(df.head())

五、数据库文件(如 SQLite)

使用 sqlite3 读取 SQLite 数据库

import sqlite3
import pandas as pdconn = sqlite3.connect("example.db")
query = "SELECT * FROM table_name"
df = pd.read_sql(query, conn)
print(df.head())

 六、PDF 文件(.pdf)

使用 PyPDF2 读取 PDF 内容

pip install PyPDF2
import PyPDF2
with open("example.pdf", "rb") as file:reader = PyPDF2.PdfReader(file)for page in reader.pages:print(page.extract_text())

✅ 注意:PDF 内容提取可能受格式限制,复杂排版可能需要其他工具如 pdfplumberPyMuPDF

七、Word 文档(.docx)

使用 python-docx 读取 Word 文件

pip install python-docx
from docx import Document
doc = Document("example.docx")
for para in doc.paragraphs:print(para.text)

八、图像文件(.jpg / .png)

使用 Pillow 读取图像

pip install pillow
from PIL import Image
img = Image.open("example.jpg")
img.show()

九、XML 文件(.xml)

使用 xml.etree.ElementTree 解析 XML

import xml.etree.ElementTree as ET
tree = ET.parse("example.xml")
root = tree.getroot()
for child in root:print(child.tag, child.attrib)

十、从网络 API 获取数据(JSON 格式)

使用 requests 获取 JSON 数据

pip install requests
import requests
import pandas as pdresponse = requests.get("https://api.example.com/data")
data = response.json()
df = pd.DataFrame(data)
print(df.head())

🧩 小贴士:将文件数据转换为 DataFrame

文件类型转换方法
CSVpd.read_csv()
Excelpd.read_excel()
JSONpd.DataFrame(data)
SQLpd.read_sql()
APIpd.DataFrame(response.json())

📌 总结

文件类型推荐模块是否支持 DataFrame
.txt内置 open()
.csvpandas / csv
.xlsxpandas + openpyxl
.jsonjson / pandas
.dbsqlite3 / pandas
.pdfPyPDF2 / pdfplumber
.docxpython-docx
.jpgPillow
.xmlxml.etree.ElementTree
APIrequests + pandas

http://www.xdnf.cn/news/10474.html

相关文章:

  • 【xmb】】内部文档148344599
  • 大数据学习(126)-窗口函数范围
  • 通过WiFi无线连接小米手机摄像头到电脑的方法
  • AI炼丹日志-27 - Anubis 通过 PoW工作量证明的反爬虫组件 上手指南 原理解析
  • Java数值处理常见错误解析
  • java多线程与JUC
  • nt!MiDispatchFault函数分析之nt!MiCompleteProtoPteFault函数的作用
  • sqli-labs靶场32-37关(宽字节注入)
  • 历年苏州大学计算机保研上机真题
  • 语音转文字工具
  • Git 入门学习教程
  • Redis 缓存穿透、缓存击穿、缓存雪崩详解与解决方案
  • Ansible 进阶 - Roles 与 Inventory 的高效组织
  • uni-app学习笔记十八--uni-app static目录简介
  • YOLOv5-入门篇笔记
  • 算法打开13天
  • 焦虑而烦躁的上午
  • HTTPS
  • VeriFree:无需Verifier的通用RL框架
  • 【GPT入门】第40课 vllm与ollama特性对比,与模型部署
  • wsl安装linux
  • 测试总结(二)
  • Python 验证码识别(使用pytesseract库)
  • JVM——JVM运行时数据区的内部机制是怎样的?
  • unix/linux source 命令,在当前的 Shell 会话中读取并执行指定文件中的命令
  • 【AI学习】检索增强生成(Retrieval Augmented Generation,RAG)
  • Vue拖拽组件:vue-draggable-plus
  • 神经网络与Transformer详解
  • Ansible 剧本精粹 - 编写你的第一个 Playbook
  • Spring Boot 4.0实战:构建高并发电商系统