使用Python读取不同格式的文件

1. Access数据库

参考链接:Python读取Access数据库基本操作
Python实现:

import pypyodbc
import win32com.client

#数据库文件路径
path = r'R:\STP Data\DataReport.accdb'

#连接数据库
con = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.ACE.OLEDB.12.0;DATA SOURCE=' + path + ';'
con.Open(DSN)

conn = pypyodbc.connect(r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + path + ";Uid=;Pwd=;")
cursor = conn.cursor()

#获取某个表中所有内容
SQL_value = 'select * from DataReport'
for row in cursor.execute(SQL_value):
    print(row)

#获取某个表中某一项数据的内容
SQL_value = "SELECT ULinmax1,ULinmax2 FROM DataReport WHERE ProductType='东风D320 V3'"
for row in cursor.execute(SQL_value):
	print(row)

#获取统计表数据量
SQL_value = 'select count(*) from DataReport'
cursor.execute(SQL_value)
SUM = cursor.fetchall()[0][0]
print(SUM)

#关闭数据库
conn.close()

2. csv文件

参考链接:Python操作CSV格式文件
Python实现:

import csv
import os

#文件路径
path = 'C:/Users/HASEE/Desktop/para.csv'

with open(path) as f:
    data = csv.reader(f)
    #读取文件每一行数据,并以列表的形式返回
    for row in data:
        print(row)
    
    #读取文件某一列数据,并以列表的形式返回
    column = [row[0] for row in data]
    print(column)

3. txt文件

参考链接:python txt文件常用读写操作
Python实现:

import re

#文件路径
path = 'C:/Users/HASEE/Desktop/data/annotations/frankfurt.txt'

#读取文本中全部内容,并以字符串的形式返回结果
with open(path) as file:
    data = file.read()
print(data)

#读取文本中第一行内容,并以字符串的形式返回结果
with open(path) as file:
    data = file.readline()
print(data)

#按行读取文本中全部内容,并以列表的形式返回结果
with open(path) as file:
    data = file.readlines()
print(data)

4. mat文件

Python实现:

import scipy.io

#文件路径
path = 'C:/Users/HASEE/Desktop/data/anno.mat'

#读取文件全部内容,并以字典的形式返回
data = scipy.io.loadmat(path)
print(data)

5. json文件

Python实现:

import json

#文件路径
path = 'C:/Users/HASEE/Desktop/data/val_gt.json'

#读取文件全部内容,并以字典的形式返回
file = open(path)
t = json.load(file)

6. excel文件

xlrdxlwt模块只能对xls格式的文件进行操作,而openpyxl模块只能对xlsx格式的文件进行操作。

6.1 xls文件

参考链接:python使用xlrd模块读取Excel
Python实现:

import xlrd

#文件路径
path = r'C:/Users/HASEE/Desktop/para.xls'

workbook = xlrd.open_workbook(path)

#通过工作表名称获取某一个工作表
table = workbook.sheet_by_name('para')

#获取工作表中的某一行数据
rows = table.row(0)
print(rows)

#获取工作表中的某一列数据
cols = table.col(0)
print(cols)

#通过行、列坐标获取某一单元格对象,坐标从0开始
cell = table.cell(1, 1)

#通过行、列坐标获取某一单元格类型,坐标从0开始
#返回的数字对应的单元格类型:0-empty(空的),1-string(text), 2-number, 3-date, 4-boolean, 5-error, 6-blank(空白表格)
cell_type = table.cell_type(2, 0)
print(cell_type)

#通过行、列坐标获取某一单元格中的值,坐标从0开始
cell_value = table.cell_value(1, 1)
print(cell_value)

6.2 xlsx文件

参考链接:python之openpyxl模块
Python实现:

from openpyxl import load_workbook

#文件路径
path = u'C:/Users/HASEE/Desktop/para.xlsx'

workbook = load_workbook(path)

list = []
#将所有工作表名存储在列表中并显示
list = workbook.sheetnames
print(list)

#读取某一个工作表中单一单元格内容
cell = workbook['para']['A1']
print(cell.value)

#读取某一个工作表中多个单元格内容
cell_range = workbook['para']['A1':'C3']
for row in cell_range:
    for cell in row:
        print(cell.value)

7. docx文件

参考链接:python-docx官方文档
Python实现:

import docx

#文件路径
path = r'C:/Users/Yifei.Chen/Desktop/ERelay C-Sample Test Report 20201123 (002).docx'

doc = docx.Document(path)

#读取文件中每一段的内容
# for para in doc.paragraphs:
#     print(para.text)

#读取文件中表格的内容
table = doc.tables
for tb in table:
    for row in tb.rows: #行    
        for cell in row.cells: #列 
            print(cell.text)

8. h5文件

参考链接:理解h5文件并使用python对h5格式文件进行读写操作
Python实现:

import numpy as np
import h5py

#文件路径
path = 'datasets/train_catvnoncat.h5'

#文件对象f表示h5文件的根目录(root group)
with h5py.File(path,'r') as f:
	#打印所有键名
	for key in f.keys():
		print(f[key], f[key].name)

	#读取键名为train_set_x对应的所有内容
	train_set_x_orig = np.array(f["train_set_x"][:])
	print(train_set_x_orig)

猜你喜欢

转载自blog.csdn.net/baoli8425/article/details/117692345