(持续更新中…)

文章目录

    • (持续更新中...)
  • 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各种文件数据的读取相关推荐

  1. 【python图像处理】txt文件数据的读取与写入

    在使用python进行数据和图像处理的过程中,经常会遇到从txt文件中读取数据.已经将处理过程中的矩阵数据写入到txt文件的情形,如在伪彩映射中读取颜色映射表. 下面介绍几种我平时常用的txt文件数据 ...

  2. 在Python中FITS格式文件数据的读取 (转载)

    在Python中FITS格式文件数据的读取 (转载) 前言 \space\space\space\space     FITS(Flexible Image Transport System)格式文件 ...

  3. python 读文件数据并画图

    python 读文件数据并画图代码如下: import pandas as pd import matplotlib.pyplot as plt import re import os import ...

  4. Python: 二进制字节流数据的读取操作 -- bytes 与 bitstring

    Python: 二进制字节流数据的读取操作 – bytes 与 bitstring 最近项目有个需求,需要对二进制文件读取内容,操作读取到的字节流数据,主要是查找与切片获取内容.这要求有两个标志,一个 ...

  5. python读取dat文件写入表格_Pandas:外部文件数据导入/ 读取 (如 :csv、txt、tsv、dat、excel文件)、文件存储(to_csv、to_excel)...

    一.文本文件读取 文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序文件. csv是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以纯文本形式存储表格数据(数 ...

  6. python读写文件错误_Python读取csv文件错误解决方法

    如果累了就拥抱我取暖 --侃爷 今天这篇推文很简单,就是给大家总结一下我今天用pandas读取csv文件遇到的坑. 一直处理csv文件都是用pandas的read_csv函数读取csv文件之后处理,都 ...

  7. python通信达数据_Python读取通达信数据

    Python读取通达信数据 一.介绍 python获取股票数据的方法很多,其中Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通 ...

  8. python远程文件管理系统_python 读取远程服务器文件

    几个提高工作效率的Python内置小工具 在这篇文章里,我们将会介绍4个Python解释器自身提供的小工具.这些小工具在笔者的日常工作中经常用到,减少了各种时间的浪费,然而,却很容易被大家忽略.每当有 ...

  9. python 通达信数据_Python读取通达信本地数据

    一.介绍 python获取股票数据的方法很多,其中 Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通达信\vipdoc\sh\ ...

最新文章

  1. yum安装mysql后密码_Centos7:yum安装MySQL5.7后如何设置root密码
  2. 基于Tkinter利用python实现颜色空间转换程序
  3. python threading join_Python中threading模块join函数用法实例分析
  4. 沈向洋,被微软“耽搁”的独角兽催化大师
  5. 自定义控件 - 流式布局:TagFlowLayout
  6. 织梦缩略图自动补齐绝对路径_[教程]织梦CMS缩略图和文章内容图片自动转化为带域名的绝对路径...
  7. 2018年网络规划设计师下午真题
  8. Kooteam 0.2.0 发布,新增周报、日报功能
  9. OpenCV学习笔记:矩阵/向量处理
  10. git restore
  11. Jetpack 新成员 SplashScreen:为全新的应用启动效果赋能!
  12. 自动加载简单实现 __autoload()
  13. Django表单系统
  14. 基于Linux操作系统的在线英英词典C语言代码
  15. 用WIN PE通过修改系统注册表修复因盘符错乱而导致系统无法启动问题
  16. 如何使用MEGA软件构建系统发育树_速成实用经验
  17. roslyn c#脚本_使用ScriptCS和Roslyn的无项目脚本C#
  18. 清理电脑C盘的方法汇总
  19. Set接口以及子集合(HashSet/LinkedHashSet/TreeSet)的用法和数据结构
  20. Cocos2d-x 3 x游戏开发之旅

热门文章

  1. AD7705 16-bit Delta-Sigma AD 转换器
  2. tello通信_【我的项目666】+通讯管理(5)modbus-RTU主机
  3. android datepicker使用方法,android DatePicker
  4. python flask web开发_Python Flask web后端开发
  5. Linux内核系统时钟管理 感想总结 (未完待续)
  6. 关于日常使用的命令解读:ifconfig
  7. java中字符串分割器_java简易文本分割器实现代码
  8. 【FPGA】SRIO IP核系统总览以及端口介绍(一)(User Interfaces 之 I/O Port)
  9. 序列信号产生器的verilog HDL 设计
  10. WPF 把图片分割成两份自动翻页 WpfFlipPageControl:CtrlBook 书控件