Python文件处理(txt、csv文件读取)
打开文件
使用Python内置的方法 open()可以打开文件
file object = open(file_name [, access_mode][, buffering])
- file_name:file_name变量是一个包含了你要访问的文件名称的字符串值
- access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)
- buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认
常用文件打开模式
模式 | 描述 |
r | 以只读方式打开文件 |
rb | 以二进制格式打开一个文件用于只读 |
w | 打开一个文件只用于写入 |
a | 打开一个文件用于追加,新的内容将会被写入到已有内容之后,如果该文件不存在,创建新文件进行写入 |
文件读取
line=f.read()
line1=f.readline()
line2=f.readlines()
- read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中
- readline() 每次只读取一行
- readlines()一次性读取文件所有行 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理
关闭文件
f.close()
一、txt文件
读取txt文件
案例:读取stu_info.txt文件内容,并将所有文件中学生名称显示出来
f=open("stu_info.txt",'r')
# l=f.read()
# print(l)
# line1=f.readline()
# print(line1)
lines=f.readlines()
print(lines) for line in lines:
# print(line)
name=line.split(',')[0]
age=line.split(',')[1]
city=line.split(',')[2]
print(name,age,city)
运行结果:
['Jack,25,Beijing\n', 'Bob,22,Shanghai\n', 'Harry,24,Shenzhen\n', 'Nancy,23,Chengdu']
Jack 25 Beijing
Bob 22 Shanghai
Harry 24 Shenzhen
Nancy 23 Chengdu
split()方法语法
str.split(str="", num=string.count(str))
参数:
- str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等
- num -- 分割次数
二、csv文件
csv即为逗号分隔值(Comma-Separated Values,CSV),有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)
csv文件读取
案例:读取Stu_info.csv文件里所有学生信息
import csv # 导入csv包
# 读取本地CSV文件
csv_file=csv.reader(open("Stu_info.csv",'r'))
# 循环输出每一行信息
for stu in csv_file:
print(stu)
csv文件写入
stu=['hugh',25,'Beijing']
stu1=['rain',28,'Wuhan']
# 打开文件
out=open('Stu_info.csv','a',newline='') # 'a'是追加,'w'是覆盖
# 设定写入方式
csv_write=csv.writer(out,dialect='excel')
# 写入具体内容
csv_write.writerow(stu)
csv_write.writerow(stu1)
print("Write file over!")
Python文件处理(txt、csv文件读取)的更多相关文章
- CSV文件数据如何读取、导入、导出到新的CSV文件中以及CSV文件的创建
CSV文件数据如何读取.导入.导出到新的CSV文件中以及CSV文件的创建 一.csv文件的创建 (1)新建一个文本文档: 打开新建文本文档,进行编辑. 注意:关键字与关键字之间用英文半角逗号隔开.第一 ...
- python json格式和csv文件转换
python json格式和csv文件转换 上代码 import csv import json ''' json格式示例 [{ "firstName":"Bill&qu ...
- 深入理解pandas读取excel,txt,csv文件等命令
pandas读取文件官方提供的文档 在使用pandas读取文件之前,必备的内容,必然属于官方文档,官方文档查阅地址 http://pandas.pydata.org/pandas-docs/versi ...
- Linux-各种姿势(less\vi等)打开各种类型的文件(txt/csv/xlsx等)出现不能打开(全乱码、部分乱码、二进制文件等)的问题
(一)linux各种中文乱码解决办法整理 远程登录服务器用vim在终端下编辑查看文件经常会遇见各种中文乱码问题. 做如下设置可基本解决vim中文乱码问题,首先查看系统对中文的支持locale -a | ...
- python笔记5-python2写csv文件中文乱码问题
前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面有中文时,打印出来的是Unicode编码,这个是无解的. 对 ...
- Python数据分析基础——读写CSV文件
1.基础python代码: #!/usr/bin/env python3 # 可以使脚本在不同的操作系统之间具有可移植性 import sys # 导入python的内置sys模块,使得在命令行中向脚 ...
- python 下 excel,csv 文件的读写
python 可以用利用xlrd 库读取数据excel数据,可以用xlwt写入excel数据,用csv 操作csv文件 xlrd xlwt python 模块 官方链接 https://pypi. ...
- python学习之读写csv文件(使用pandas)
简介 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文本意味着该文件是一个字符序 ...
- python合并多个csv文件并去重
#coding=utf-8 import os import pandas as pd import glob def hebing(): csv_list = glob.glob('*.csv') ...
- Python之Pandas操作csv文件dataframe
# -*- coding: utf-8 -*- # author:baoshan import pandas as pd def main(): aqi_data = pd.read_csv('chi ...
随机推荐
- 进击的Python【第七章】:python各种类,反射,异常处理和socket基础
Python的高级应用(三)面向对象编程进阶 本章学习要点: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 一.面向对象高级语法部分 静态方法 ...
- go环境搭建及vscode中调试
1.下载go安装包一般国内用户无法在官网下载,可以自行百度找一些共享的资源墙内下载地址: http://www.golangtc.com/downloadCSDN上资源下载(一般需要积分):http: ...
- AJPFX关于IO流的简单总结
IO流的分类:1.根据流的数据对象来分:高端流:所有的内存中的流都是高端流,比如:InputStreamReader 低端流:所有的外界设备中的流都是低端流,比如InputStream,Output ...
- 使用Jenkins进行android项目的自动构建(2)
Maven and POM 1. 什么是Maven? 官方的解释是: http://maven.apache.org/guides/getting-started/index.html#What_is ...
- Sql Server中清空所有数据表中的记录
Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: 代码如下:exec sp_msforeachtable @Command1 ='truncate table ?'删除所有数据 ...
- day23-2 __call__、__str__和__del__
目录 __call__ __str__ __del__ __call__ 对象后面加括号调用时,会自动触发执行 注:构造方法的执行是由创建对象触发的,即:对象=类名();而对于__call__方法的执 ...
- 5-Java-C(调和级数)
题目描述: 1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数. 它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字. 但是,它发散的很慢: 前1项和达到 1. ...
- deallocvt - 释放未使用的虚拟终端
SYNOPSIS(总览) deallocvt [ N1 N2 ... ] DESCRIPTION(描述) 如果不指定参数, deallocvt 程序会释放所有未使用的虚拟终端的核心内存和数据结构. 如 ...
- 09Windows编程
Windows编程 2.1 窗口 Windows应用程序一般都有一个窗口,窗口是运行程序与外界交换信息的界面.一个典型的窗口包括标题栏.最小化按钮.最大/还原按钮.关闭按钮.系统菜单图标.菜 ...
- Myeclipse中dubug调试出现参数显示的框
1.步骤: window>show view>variables 结果: