微专业 起步篇:常用信息存储及MySQL Python本地文档与二进制数据存储

Python操作文本

os模块

  • 日常操作文件
  • 许多时候并不是操作有困难,而是路径问题
import os
file="d:\\python_project"
#判断文件夹是否存在
if not os.path.exists(file):
	#不存在则创建
	os.mkdir(file)
import os
filename=os.getcwd()
txt="python.txt"
with open(os.path.join(filename,txt),'w') as f:
	f.write("hello world")

简化起文件名

import uuid
from uuid import UUID
#基于时间戳
print(uuid.uuid1())
#基于名字的MD5散列
print(uuid.uuid3(UUID(int=9),"lyy"))
#基于随机数
print(uuid.uuid4())
#基于名字的SHA-1散列
print(uuid.uuid5(UUID(int=9),"lyy"))

Python操作文本

  • r 读文件
  • w 创建文件,会覆盖源文件
  • a 追加文件,不存在会创建****
  • b 操作二进制流
  • ±rw的集合

当 for 循环不得不写在 writer 函数之外的时候使用 a+ 替代 w 避免覆盖写。

with open("test.txt",'r') as f:
	data=f.read()#全部读取
	data2=f.readlines()#逐行读取
	for d in data2:
		print(d)
import requests,uuid

def get_img(url):
	img=requests.get(url,stream=True) #以流形式
	img_name="{}.jpg".format(uuid.uuid4())
	with open(img_name,'wb') as f:
		chunks=img.iter_content(chunk_size=128)
		for chunk in chunks:
			f.write(chunk)
if __name__='__main__':
	url='www.baidu.com'
	get_img(url)
'''
避免一次性占满内存减轻CPU压力,在读取大文件时候很有优势
当下载大的文件的时候,建议使用strea模式.
默认情况下是false,他会立即开始下载文件并存放到内存当中,倘若文件过大就会导致内存不足的情况.
当把get函数的stream参数设置成True时,它不会立即开始下载,当你使用iter_content或iter_lines
遍历内容或访问内容属性时才开始下载。需要注意一点:文件没有下载之前,它也需要保持连接。
转载至:https://www.cnblogs.com/nul1/p/9172068.html
'''

JSON

JSON(javascript object notation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

import json
data={
	'name':'acme',
	'shares':100,
	'price':542.23
}

res=json.dumps(data) #字典转换成JSON
print(res) 
import json
data={
	'name':'acme',
	'shares':100,
	'price':542.23
}
with open('data.json','w') as f:
	json.dump(data,f)
import json
data='{"name":"ACME",'\
		'"shares":100'\
		'"price":542.23}'
res=json.loads(data)
print(res) #JSON转Python
import json
with open('data.json','r') as f:
	data=json.load(f)

Python操作csv

逗号分隔值,其文件以纯文本形式存储表格数据(数字和文本),机械学习常用。

import csv
def get_csv():
	with open('./test.csv',encoding='utf8') as f:
		f_csv=csv.reader(f)
		#next(f_csv)
		for row in f_csv:
			print(row)
import csv
headers=['symbol','price','date']
rows=[('AA',39.48,'6/11/2007')]
with open('stocks.csv','w') as f:
	f_csv=csv.writer(f)
	f_csv.writerow(headers)
	f_csv.writerows(rows)

csv读写字典

import csv
with open('stocks.csv') as f:
	f_csv=csv.DictReader(f)
	for row in f_csv:
		print(row)
import csv
headers=['symbol','price','data']
rows=[{}{}{}]
with open('stocks.csv','w') as f:
	f_csv=csv.DictWriter(f,headers)
	f_csv.writeheader()
	f_csv.writerows(rows)

Python操作Excel

pip install xlrd xlwt

import xlwt
def creat():
	#创建Excel
	Excel_book=xlwt.workbook()
	#创建sheet
	sheet=Excel_book.add_sheet("test")
	#在二行一列写入文字"hello"
	sheet.write(1,0,"hello")
	Excel_book.save("test.xls")
create()
import xlrd
def get_data():
	data=xlrd.open_workbook('data.xls')
	#获取第一个sheet
	sheet=data.sheets()[0]
	#获取行数和列数
	nrows=sheet.nrows
	ncols=sheet.ncols
	获取行数据
	for i in range(nrows):
		print(sheet.row_values(i))
	#获取列数据
	for j in range(ncols):
		print(sheet.col_values(j))
get_data()

Python操作Word

pip install python-docx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值