csv、excel等文件相关操作

分享自己关于学习文件操作的相关内容。

open函数

之前一直是这样写的:

f = open(./data.txt,mode=a,encoding=utf8)
f.write("hello")
f.writelines([xiaoming,xiaowang])
f.write(小明与小汪)
# 文件读取
lines = f.read()
print(lines)
lines = f.readlines()
print(lines)
f.close()

这样写每次都要关闭,不是很简洁,所以我就改成了下面一种方式:

with open(./data.txt,mode=a,encoding=utf8) as f:
    # 文件写入
    f.write("helloworld123")
    f.writelines([xiaoming,xiaowang])
    f.write(小明与小汪)
    lines = f.read()
    lines = f.readlines()
    print(lines)

这样写每次操作完会自动关闭,也省了自己写代码关闭,也可以避免忘记关闭的烦恼,看着也更简洁。

csv 操作

写入文件: 其中的newline=’’,是新起一行的意思。

import csv

with open(./data.csv,mode=w,newline=,encoding=utf8) as file:
    # 写入文件类
    fw = csv.writer(file)
    fw.writerow(["aaaaaaa",username])
    fw.writerow([helloworld,xiaoming])

    fw.writerows([(heiheihei,wawawa),(xiaoming,xiaowang)])

读取文件:

import csv

with open(./data.csv,mode=r,newline=,encoding=utf8) as file:
    rd = csv.reader(file)
    #一行一行的读取
    for line in rd:
        print(line)

dict方式写入数据:

import csv

with open(./data.csv,mode=w,newline=,encoding=utf8) as file:
    field_names = [username,passwd]
     # 制定表头
    cdw = csv.DictWriter(file,fieldnames=field_names)
     # 写入表头
    cdw.writeheader()
    # 写入内容
    cdw.writerow({
          
   username:xiaoming,passwd:123456})
    cdw.writerow({
          
   username: xiaowang, passwd: 654321})

dict读取数据

import csv

with open(./data.csv,mode=r,newline=,encoding=utf8) as file:
    dr = csv.DictReader(file)
    for line in dr:
        print(line)

Excel文件解析

写入:

from openpyxl import Workbook

wb = Workbook()
worksheet = wb.create_sheet(data)
worksheet.append([username,password])
for i in range(10):
    worksheet.append([ftestuser{
            
     i},123456])
# 保存文件
wb.save(./data.xlsx)

读取:

from openpyxl import load_workbook
from openpyxl.worksheet.worksheet import Worksheet

wb = load_workbook(data.xlsx)
# print(wb.sheetnames)

ws:Worksheet = wb[data]
test_data = []
for row in ws.values:
    test_data.append(row)

print(test_data)

json模块

转字符串:

import  json

jstr = json.dumps([hi,{
          
   username:xiaowang}])
# 转换为字符串
print(jstr, type(jstr))
# ["hi", {"username": "xiaowang"}] <class str>

with open(./data.txt,mode=w) as file:
    file.write(jstr)

解析为Python格式:

import  json

ls = json.loads(["hi", {"username": "xiaowang"}])
print(ls,type(ls))

写入json文件:

import  json

test_data = {
          
   
    "id":1,
    "test_steps":[
        "1.打开",
        "2.输入信息"
    ]
}

with open(./data.json,mode=w,encoding=utf8) as file:
    json.dump(test_data, file)

读取json文件:

import  json
with open(./data.json,encoding=utf8) as file:
    data = json.load(file)
    print(data,type(data))

不得不感叹互联网上的资源是真的多,啥资源都有,真的是很不错很不错! 继续学习,继续努力,冲就对啦!

经验分享 程序员 微信小程序 职场和发展