Python读取与存储文件内容

一、.csv文件

读取:

import pandas as pd
souce_data = pd.read_csv(File_Path)

  其中File_path是文件的路径

储存:

import pandas as pd
souce_data.to_csv(file_path)

其中,souce_data格式应该为series或者Dataframe格式

二、Excel文件

读取:

import xlrd as xl
data_excel = xlrd.open_workbook(file_path)
souce_data = data_excel.sheet_by_name(sheet)
row_len = souce_data.nrows
col_len = souce_data.ncols
for i in range(row_len):
for j in range(col_len):
print(souce_data.cell_value(i,j))

  其中,open_workbook(file_path)函数是打开文件file_path,data_excel.sheet_by_name(sheet)函数是打开sheet中的文件并赋值给souce_data。souce_data.nrows与souce_data.ncols是分别计算表格的行数与列数。

三、txt文件

读取:  

Python对txt的内容读取有三类方法:read()、readline()、readlines(),这三种方法各有利弊,下面逐一介绍其使用方法和利弊。

1.read():

  read()函数通过一次性读取文件的所有内容放在一个大字符串中,即存在内存中

with open(file_path) as f:
souce_data = f.read()
print(souce_data)

    read()的优势:方便、简单;一次性独读出文件放在一个大字符串中,速度最快。

    read()的弊端:文件过大的时候,占用内存会过大

2.readline():

  readline()逐行读取文本,结果是一个list

 with open(file_path) as f:
line = f.readline()
while line:
print(line)
line = f.readline()

    readline()的优势:占用内存小,逐行读取。

    readline()的弊端:由于是逐行读取,读取速度比较慢

3.readlines():

  readlines()一次性读取文本的所有内容,结果是一个list

with open(file) as f:
for line in f.readlines():
print line

  这种方法读取的文本内容,每行文本末尾都会带一个'\n'换行符 (可以使用L.rstrip('\n')去掉换行符

    readlines()的利端:一次性读取文本内容,速度比较快

    readlines()的弊端:随着文本的增大,占用内存会越来越多

储存:

with open(file_path,'w') as f:
f.write(souce_data)

四、储存与读取json文件

存储:

import json
with open(file_path,'w') as cf:
cf.write(json.dumps(souce_data))

读取:

import json
with open(file_path,'r') as rf:
souce_data = rf.read()
souce_data = eval(souce_data)

Python读取文件内容与存储的更多相关文章

  1. [python] - 读取文件内容,并输出

    1.读取文件,并逐行输出内容,代码如下: # coding=gbk import os path = 'E:\python_practice' os.chdir(path) fname = raw_i ...

  2. Python读取文件内容的三种方式并比较

    本次实验的文件是一个60M的文件,共计392660行内容. 程序一: def one(): start = time.clock() fo = open(file,'r') fc = fo.readl ...

  3. Python读取文件内容并将内容插入到SSDB中

    import os import linecache import time from SSDB import SSDB ssdb = SSDB('127.0.0.1', 8888) print(&q ...

  4. python读取文件内容方法

    1) readline 每次读一行,返回序列 2) readlines 一次全部读出,返回序列 3) numpy 的genfromtxt,返回为np的矩阵格式 import numpy as np f ...

  5. Python跳过第一行读取文件内容

    Python编程时,经常需要跳过第一行读取文件内容.比较容易想到是为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作.相应的Python代码如下: inpu ...

  6. Python读取文件编码及内容

    Python读取文件编码及内容 最近做一个项目,需要读取文件内容,但是文件的编码方式有可能都不一样.有的使用GBK,有的使用UTF8.所以在不正确读取的时候会出现如下错误: UnicodeDecode ...

  7. python练习六十一:文件处理,读取文件内容

    python练习六十一:文件处理,读取文件内容 假设要读取text.txt文件中内容 写文件(如果有文件,那直接调用就行,我这里自己先创建的文件) list1 = ['python','jave',' ...

  8. python读取文件指定行内容

    python读取文件指定行内容 import linecache text=linecache.getline(r'C:\Users\Administrator\Desktop\SourceCodeo ...

  9. python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib

    python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib ...

随机推荐

  1. Linux常用命令练习

    实验结论 熟悉命令倒不是什么难的过程,很容易就能跟着指示打出来并明白其效果与作用.难就难在了感受不到这些命令的实际意义,即如何有效的结合起来并在项目中运用,这就导致了很大的迷茫与无力感. cat fi ...

  2. centos7 安装mysql出现Could NOT find Curses (missing CURSES_LIBRARY CURSES_INCLUDE_PATH)

    今天安装mysql 5.7 编译时出现一下问题: [root@localhost software]# cd mysql-5.7.21 [root@localhost mysql-5.7.21]# c ...

  3. 如何通过Chrome远程调试android设备上的Web网站

    网上的帖子很多,但很多都是老版本的,试过了,根本不管用,花了一天时间,终于在本机试验通过了,特记录下来,以备用.有需要的朋友也可以参考.先上一张图,看看PC端chrome上调试的效果: 左边是手机的模 ...

  4. Spring源码学习笔记1

    1.Spring中最核心的两个类 1)DefaultListableBeanFactory XmlBeanFactory继承自DefaultListableBeanFactory,DefaultLis ...

  5. 正确处理下载文件时HTTP头的编码问题(Content-Disposition)

    留坑 参考: 正确处理下载文件时HTTP头的编码问题(Content-Disposition) HTTP协议header中Content-Disposition中文文件名乱码 文件下载,content ...

  6. Hadoop学习笔记1 - 使用Java API访问远程hdfs集群

    转载请标注原链接 http://www.cnblogs.com/xczyd/p/8570437.html 2018年3月从新司重新起航了.之前在某司过了的蛋疼三个月,也算给自己放了个小假了. 第一个小 ...

  7. react native 键盘弹起时必须点击两次才能成功

    在scrollview或者flatlist上设置一个参数,即可解决 keyboardShouldPersistTaps="handled"

  8. Composer的入门与使用

    一 什么是composer composer是一种php的包管理工具, 类似于Java的maven, Ubuntu的apt等, 可以方便的解决php的包管理, 管理依赖关系等问题. 二 使用compo ...

  9. jmeter 写正则表达式

    ():括起来的部分就是要提取的. .:匹配任何字符串. +:一次或多次. ?:不要太贪婪,在找到第一个匹配项后停止.   需要根据要取的数据取值 jt: eyJhbGciOiJSUzI1NiJ9.ey ...

  10. window下mysql创建库只读

    window下mysql创建库只读和启动失败都有可能是my.ini配置文件出错的问题 遇到如下错误ERROR 1036 (HY000): Table 'schemata' is read only,办 ...