一.文件

  1.简介

二.文件的相关操作

  1.打开文件 例如:  f = open("F:\\text.txt", 'r') 只读模式,不可写入

  

  2.读取文件 例如: f.readlines 读取一行

  3.写入 f.write("日日有见才")

  4.测试代码

Python 3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> f = open("F:\\text.txt", 'r')
>>> for i in f.readlines():
print(i) 1235456撒大声地
>>> f.close()
>>> f = open("F:\\text.txt", 'a+')
>>> f.write("日日有见才")
5
>>> f.seek(0)
0
>>> f.read()
'1235456撒大声地日日有见才'
>>> f.close()
>>>

三.将excel文件存为csv文件

  使用函数:pandas.read_exceliosheet_name = 0header = 0names = Noneindex_col = Noneparse_cols = Noneusecols = Nonesqueeze = Falsedtype = Noneengine = Noneconverter = Nonetrue_values = Nonefalse_values = Noneskiprows = Nonenrows = Nonena_values = Nonekeep_default_na = Trueverbose = Falseparse_dates = Falsedate_parser =无千位=无comment = Noneskip_footer = 0skipfooter = 0convert_float = Truemangle_dupe_cols = True** kwds )将Excel文件读入pandas DataFrame。

  1.CSV简介: CSV格式(Comma-Separated Values,逗号分隔值)是一种通用的,相对简单的文件格式,可应用在程序之间转移表格数据。由此看来,csv格式文件的应用还是很广大的。

  2.io : 路径

  3.sheet_name : str,int,list或None,默认值为0  (就是哪个表单)

字符串用于表单名称。整数用于零索引表单位置。字符串/整数列表用于请求多个工作表。指定“无”以获取所有工作表。

  4.to_excel将DataFrame写入Excel文件。

  to_csv将DataFrame写入逗号分隔值(csv)文件。

  read_csv将逗号分隔值(csv)文件读入DataFrame。

  read_fwf将固定宽度格式化的行表读入DataFrame。

# -*- coding:utf-8
import pandas as pd def ExcelToCsv_1(StartName, SheetName, EndName):
'''
函数功能: 将excel格式文件转换为csv格式文件,使用iat方法
StartName: excel表格的文件路径
SheetNmae: excel表格中的表格名称
EndName: csv文件的保存路径
'''
grade = pd.read_excel(StartName, sheet_name=SheetName) #从IO路径读取sheet表单
for i in range(len(grade.index)): #行
for j in range(1, len(grade.columns)): # 列
if grade.iloc[i, j] == '优秀':
grade.iat[i, j] = 90
elif grade.iloc[i, j] == '良好':
grade.iat[i, j] = 80
elif grade.iloc[i, j] == '合格':
grade.iat[i, j] = 60
else:
grade.iat[i, j] = 0 #空格换成0
grade.to_csv(EndName) #CSV '''
def ExcelToCsv_2(StartName, SheetName, EndName): 函数功能: 将excel格式文件转换为csv格式文件,使用replace方法
StartName: excel表格的文件路径
SheetNmae: excel表格中的表格名称
EndName: csv文件的保存路径
缺点: 无法将空值替换为0 grade = pd.read_excel(StartName, sheet_name=SheetName)
Grade = grade.replace("优秀", "90")
Grade = Grade.replace("良好", "80")
Grade = Grade.replace("不合格", "60")
Grade = Grade.replace("合格", "60")
Grade = Grade.replace("NaN", "0")
Grade.to_csv(EndName)
'''
ExcelToCsv_1("D:\\Python_1.xlsx", "Sheet1", "D:\\Python_1.csv")
#ExcelToCsv_2("D:\\Python_2.xlsx", "Sheet1", "D:\\Python_2.csv")

效果

五.CSV格式文件转换成html

先看一下HTML中表格的代码

#返回一行代码
def One_line_of_code(str,thNum):
text = '<tr>'
for i in range(thNum):
if len(str[i+1]) == 0: #如果是空,即长度为0
str[i+1]=0
print(str[i+1])
tem = '<td align="center">{}</td>'.format(str[i+1])
text +=tem
text+='</tr>'
return text def creat_HTML(io,IO,thNum):
hF = open(IO, 'w') #创建一个HTML文件
#写入代码
HTML1 = '''
<!DOCTYPE HTML>\n<html>\n<body>\n<meta charset=gbk2313>
<h1 align=center>Python成绩表</h2>
<table border='blue'>\n'''
HTML2 = "</table>\n</body>\n</html>"
hF.write(HTML1)
hF.write(csv_to_HTML(io,thNum))
hF.write(HTML2)
hF.close() def csv_to_HTML(io,thNum):
csv = open(io,'r',encoding="utf-8")
ls = [] #读取CSV里面的内容并且以逗号为分隔转换为ls列表
for line in csv:
line = line.replace('\n', '')
ls.append(line.split(','))
k=''
for i in range(1,thNum+1):
k+=('<td>{}&nbsp;</td>\n'.format(ls[0][i]))
K=''
for i in range(1,len(ls)):
K+=One_line_of_code(ls[i],thNum)
return (k+K) if __name__ =='__main__':
creat_HTML("D:\\Python_2.csv", "D:\\Python_2.html", 5)

效果

六.CSV转json

import json
fr = open("D://Python_2.csv", "r", encoding='utf-8') #转换为UTF-8,否则出现编码gbk编码错误 ls =[] for line in fr:
line = line.replace("\n", "") #去除换行
ls.append(line.split(','))   #去除空格 fr.close() #把CSV里面的内容读取到列表里,并且关闭文件 fw = open("D://Python_json.json", "w") #创建一个新文件,模式为覆盖写 for i in range(1,len(ls)):
ls[i] = dict(zip(ls[0], ls[i])) #zip为内置函数,能够将两个长度相同的 列表组 合成一个关系对 json.dump(ls[1:],fw, sort_keys=True, indent=4, ensure_ascii=False) ensure...==False 保种可以输出中文
fw.close()

效果

七.列表内容写入csv

import pandas as pd

list=[[1,2,3],[4,5,6],[7,9,9]]
# 下面这行代码运行报错
# list.to_csv('e:/testcsv.csv',encoding='utf-8')
name=['one','two','three']
test=pd.DataFrame(columns=name,data=list)#数据有三列,列名分别为one,two,three
print(test)
test.to_csv('e:/testcsv.csv',encoding='gbk')

2019-04-27 Python之有关文件的学习的更多相关文章

  1. 2019.04.21 python核心特征

    本阶段我们将了解Python是如何管理内存的,学习内存管理让我们掌握python的运行机制: 并且在python中有许多函数式编程的特性,比如闭包,装饰器和生成器,这些都是一些比较难掌握的概念,但面试 ...

  2. 2019.04.16 python基础50

    第五十一节  pycharm安装 https://www.jetbrains.com/pycharm/download/#section=windows 这是另一个叫jetbrains公司开发的 默认 ...

  3. 2019.04.13 python基础

    第一节    主要讲python背景  没什么要注意的  了解记住概念就好 python官网  python.org  自带shell  可以运行python代码 在IDLE中怎么运行代码 新建文本  ...

  4. python获取当前文件路径

    python获取当前文件路径 学习了:https://www.cnblogs.com/strongYaYa/p/7200357.html https://blog.csdn.net/heatdeath ...

  5. python处理日志文件

    python处理日志文件 1 打开日志文件 虽然,日志文件的后缀为.log,但是基本上与文本文件没有区别,按照一般读取文本文件的方式打开即可: fp =open("e:\\data.log& ...

  6. Python入门篇-文件操作

    Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...

  7. python基础之文件处理

    读和写文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直 ...

  8. Python写UTF8文件,UE、记事本打开依然乱码的问题

    Python写UTF8文件,UE.记事本打开依然乱码的问题 Leave a reply 现象:使用codecs打开文件,写入UTF-8文本,正常无错误.用vim打开正常,但记事本.UE等打开乱码. 原 ...

  9. 【Lab】Python改bat文件

    [Lab]Python改bat文件 给出一个特定的树形结构,每一层的数字依次递增后,按照从上到下,同时从左到右这样的顺序生成.这么说还是不太明白,比如下面这个简单的树形结构. 按照顺序应该写成这样[3 ...

随机推荐

  1. 《剑指offer》丑数

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  2. hdu4352 数位dp+状态压缩+一个tip

    按照nlogn求lis的方法,把lis的状态压缩了,每次新加一个数就把它右边第一个数的位置置为0,然后把这个数加进去 一个需要注意的地方,如果前面都是0,那么状态s中代表0的位置不可以是1,因为这种情 ...

  3. 如何在element-ui table 取到对应的ID的最后一个对象

    来回切换3个状态值如何得到对应ID的最后一个对象 var is_push = () => { for (var i = 0; i < this.form.FaultDevices.leng ...

  4. Java Spring Boot VS .NetCore (一)来一个简单的 Hello World

    系列文章 Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filte ...

  5. HDU 5984.Pocky(2016 CCPC 青岛 C)

    Pocky Let’s talking about something of eating a pocky. Here is a Decorer Pocky, with colorful decora ...

  6. Telsa显卡比较

    1. T4 2. P4/ P40 3. P100 4. V100

  7. DWM1000 定位上位机软件 以及 源码下载

    蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 正文: 经过一段学习,今天终于将定位软件编译成功,简单修改,可以正确读取串口的数据了. 主要修改点: 1 官方 ...

  8. XIV Open Cup named after E.V. Pankratiev. GP of Europe

    A. The Motorway 等价于找到最小和最大的$L$满足存在$S$使得$S+(i-1)L\leq a_i\leq S+i\times L$ 即 $S\leq\min((1-i)L+a_i)$ ...

  9. PHP定界符<<<EOF

    PHP定界符<<<EOF 一.为什么需要使用定界符: 因为在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况, 如果用传统的输出方法 ——按字符串输 ...

  10. 判断点在不在多边形范围内c#

    C# 计算地图上某个坐标点的是否在多边形内   这个方法引用自群友的博客 https://www.xiaofengyu.com/?p=143 使用百度地图的时候,常常会用到判断一个点是否在一个多边形的 ...