python各种文件数据的读取
(持续更新中…)
文章目录
- (持续更新中...)
- 0 常规方法open
- 0.1 读取时存在中文无法识别
- 0.2 写入,写入中文
- 1.读取excel文件
- 一)python读取:
- 2.读取csv文件
- 一)python读取:
- 2.读取txt文件
0 常规方法open
0.1 读取时存在中文无法识别
关键因素:
- 以二进制读取,‘rb’
- 以utf-8解码
通过open可以读取写入,参考open读取写入
open语法:
open(name[, mode[, buffering]])
参数描述如下
以下举例说明:
举例:现在有一个test.txt文件,内容如下:
分别使用上面的三个函数打印:
1),使用read()—读取全部文件内容
返回字符串类型
f = open('new/test.txt','rb')
a = f.read()
print(a)
print(a.decode('utf-8'))
注意,需要是用utf-8才能打印出来想要的结果,
2),使用readline()----只读取一行
返回字符串类型
f = open('new/test.txt','rb')
a = f.readline()
print(a)
print(a.decode('utf-8'))
同理需要使用utf-8
3),使用readlines()—一行行读取文件
返回类型是列表,每行作为列表的一个元素(元素都是字符串)存放在list中
f = open('new/test.txt','rb')
a = f.readlines()
for i in a:print(i.decode('utf-8'))
0.2 写入,写入中文
1)写入英文
这里使用追加和读写模式a+,这样增加的内容会在最后,同时我使用了\n表示换一行再写。如果是w或者r+模式则在首行开始写
f = open('new/test.txt','a+')
f.write('\nabcd')
f.close()
f = open('new/test.txt','rb')
w=f.read().decode('utf-8')
print(w)
2)写入中文
需要加入编码encoding=‘utf-8’
f = open('new/test.txt','a+',encoding='utf-8')
f.write('\n今天天气很好')
f.close()
f = open('new/test.txt','rb')
w=f.read().decode('utf-8')
print(w)
3)从文件A读取写入到文件B
有一个名为bibtex.bib的文件,内容如下:
@article{Akrami:2018mcd,author = "Akrami, Y. and others",title = "{Planck 2018 results. IV. Diffuse component separation}",collaboration = "Planck",year = "2018",eprint = "1807.06208",archivePrefix = "arXiv",primaryClass = "astro-ph.CO",SLACcitation = "%%CITATION = ARXIV:1807.06208;%%"
}
现在要提取‘author’,‘title’,'year’和’eprint’到文件test.txt中
f = open(r'demo1\bibtex.bib','r+') #阅读形式打开文件
f_list = f.readlines() #list方式缓存每一行
f.close()
save_f = open(r'demo1\test.txt','w+') #打开需要存入数据的文件
vocab = ['author', 'title', 'year','eprint']
#可以使用列表解析或者两层for循环
# [save_f.write(i) for i in f_list for x in vocab if x in i]
for i in f_list:for x in vocab:if x in i:# print(i.decode('utf-8'))save_f.write(i)# save_f.close()#测试一下保存的文件
test_f = open(r'demo1/test.txt','rb')
print(test_f.read().decode('utf-8'))
读取的test.txt文件如下:
author = "Akrami, Y. and others",title = "{Planck 2018 results. IV. Diffuse component separation}",year = "2018",eprint = "1807.06208",
在此强调一下,列表解析可能比for循环快点儿,但并没有太大的提高,如stackoverflow说的,使用c会更好,比如列表解析提高15%的话,c可以有300%
1.读取excel文件
已知有个名为student_score.xlsx的文件,现需要读取里面的文件
一)python读取:
- a)使用xlrd库函数
import numpy as np
import xlrd #使用库函数workbook = xlrd.open_workbook('C:/users/lenovo/desktop/student_score.xlsx') #读取路径
sheet = workbook.sheet_by_name('Sheet1') #读取excel中的第一个sheetdata_name = sheet.col_values(0) #按列读取,读取第一列
#data_name1 = sheet.row_values(0) #按行读取,读取第一行
data_st_ID = sheet.col_values(1)
data_st_score = sheet.col_values(2)
结果如下
2.读取csv文件
csv文件是逗号隔开的文件,比如将上面的excel文件另存为csv文件然后通过下面的方式打开,csv通过记事本打开如下
一)python读取:
可以通过with open ‘xxx’ as的方式也可以直接open
- a)with open (‘xxx’) as f
with open('C:/users/lenovo/desktop/student_score.csv','r') as f:for line in f.readlines(): #逐行读取print(line)
- b) open(‘xxx’)
filename = open('C:/users/lenovo/desktop/student_score.csv','r')
for line in filename:print(line)
2.读取txt文件
- numpy.loadtxt
dataset = np.loadtxt('路径')
- 通过with open
一次性读完
with open('my_file.txt') as file_object:contents = file_object.read() #一次性全读print(contents)
逐行读取
with open('my_file.txt') as f:for line in f: #逐行读取print(line.strip()) #使用strip删除空格和空行,否则会有\n在最后
python各种文件数据的读取相关推荐
- 【python图像处理】txt文件数据的读取与写入
在使用python进行数据和图像处理的过程中,经常会遇到从txt文件中读取数据.已经将处理过程中的矩阵数据写入到txt文件的情形,如在伪彩映射中读取颜色映射表. 下面介绍几种我平时常用的txt文件数据 ...
- 在Python中FITS格式文件数据的读取 (转载)
在Python中FITS格式文件数据的读取 (转载) 前言 \space\space\space\space FITS(Flexible Image Transport System)格式文件 ...
- python 读文件数据并画图
python 读文件数据并画图代码如下: import pandas as pd import matplotlib.pyplot as plt import re import os import ...
- Python: 二进制字节流数据的读取操作 -- bytes 与 bitstring
Python: 二进制字节流数据的读取操作 – bytes 与 bitstring 最近项目有个需求,需要对二进制文件读取内容,操作读取到的字节流数据,主要是查找与切片获取内容.这要求有两个标志,一个 ...
- python读取dat文件写入表格_Pandas:外部文件数据导入/ 读取 (如 :csv、txt、tsv、dat、excel文件)、文件存储(to_csv、to_excel)...
一.文本文件读取 文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序文件. csv是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以纯文本形式存储表格数据(数 ...
- python读写文件错误_Python读取csv文件错误解决方法
如果累了就拥抱我取暖 --侃爷 今天这篇推文很简单,就是给大家总结一下我今天用pandas读取csv文件遇到的坑. 一直处理csv文件都是用pandas的read_csv函数读取csv文件之后处理,都 ...
- python通信达数据_Python读取通达信数据
Python读取通达信数据 一.介绍 python获取股票数据的方法很多,其中Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通 ...
- python远程文件管理系统_python 读取远程服务器文件
几个提高工作效率的Python内置小工具 在这篇文章里,我们将会介绍4个Python解释器自身提供的小工具.这些小工具在笔者的日常工作中经常用到,减少了各种时间的浪费,然而,却很容易被大家忽略.每当有 ...
- python 通达信数据_Python读取通达信本地数据
一.介绍 python获取股票数据的方法很多,其中 Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通达信\vipdoc\sh\ ...
最新文章
- yum安装mysql后密码_Centos7:yum安装MySQL5.7后如何设置root密码
- 基于Tkinter利用python实现颜色空间转换程序
- python threading join_Python中threading模块join函数用法实例分析
- 沈向洋,被微软“耽搁”的独角兽催化大师
- 自定义控件 - 流式布局:TagFlowLayout
- 织梦缩略图自动补齐绝对路径_[教程]织梦CMS缩略图和文章内容图片自动转化为带域名的绝对路径...
- 2018年网络规划设计师下午真题
- Kooteam 0.2.0 发布,新增周报、日报功能
- OpenCV学习笔记:矩阵/向量处理
- git restore
- Jetpack 新成员 SplashScreen:为全新的应用启动效果赋能!
- 自动加载简单实现 __autoload()
- Django表单系统
- 基于Linux操作系统的在线英英词典C语言代码
- 用WIN PE通过修改系统注册表修复因盘符错乱而导致系统无法启动问题
- 如何使用MEGA软件构建系统发育树_速成实用经验
- roslyn c#脚本_使用ScriptCS和Roslyn的无项目脚本C#
- 清理电脑C盘的方法汇总
- Set接口以及子集合(HashSet/LinkedHashSet/TreeSet)的用法和数据结构
- Cocos2d-x 3 x游戏开发之旅
热门文章
- AD7705 16-bit Delta-Sigma AD 转换器
- tello通信_【我的项目666】+通讯管理(5)modbus-RTU主机
- android datepicker使用方法,android DatePicker
- python flask web开发_Python Flask web后端开发
- Linux内核系统时钟管理 感想总结 (未完待续)
- 关于日常使用的命令解读:ifconfig
- java中字符串分割器_java简易文本分割器实现代码
- 【FPGA】SRIO IP核系统总览以及端口介绍(一)(User Interfaces 之 I/O Port)
- 序列信号产生器的verilog HDL 设计
- WPF 把图片分割成两份自动翻页 WpfFlipPageControl:CtrlBook 书控件