当前位置:   article > 正文

使用Python读取不同格式的文件_python 读写文件 获取行数,文件存在多种格式

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

4. mat文件

Python实现:

import scipy.io

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

#读取文件全部内容,并以字典的形式返回
data = scipy.io.loadmat(path)
print(data)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

5. json文件

Python实现:

import json

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

#读取文件全部内容,并以字典的形式返回
file = open(path)
t = json.load(file)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/596043
推荐阅读
相关标签
  

闽ICP备14008679号