-
文本文件uersinfo
陆游游,aab123,0 黎明明,bba369,0 陈小二,ccc258,0
1、 文本变字典
陆游游,aab123,1
黎明明,bba369,0
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
list_dic={'陆游游': ['陆游游,aab123,1'],'黎明明': ['黎明明', 'bba369', '0']}
n = 0
list_dic={}
for i in list_dic:
print(i) # 陆游游,aab123,1
list_dic[i.split(",")[0]] = [list_dic[n]]
n += 1
print(list_dic)
2、 各种去括号 变列表
2.1 去尖括号 <DirEntry ‘010 类-引入 基础.py’>
s="<DirEntry '010 类-引入 基础.py'>, <DirEntry '011 类__init__.py'>, <DirEntry '012 类 方法的相互 调用.py'>, <DirEntry '013 作业 os的应用.py'>"
s=s.replace("<","")
s=s.replace(">","")
s=s.replace("\'","")
s=s.replace(",","")
list=s.split()
print(list)
list=s.split("DirEntry ")
print(list)
dic={}
for i in list[1:]:
i=i.split()
j=",".join(i).split()
dic[i[0]]=j
print(dic)
['DirEntry', '010', '类-引入', '基础.py', 'DirEntry', '011', '类__init__.py', 'DirEntry', '012', '类', '方法的相互', '调用.py', 'DirEntry', '013', '作业', 'os的应用.py']
['', '010 类-引入 基础.py ', '011 类__init__.py ', '012 类 方法的相互 调用.py ', '013 作业 os的应用.py']
{'010': ['010,类-引入,基础.py'], '011': ['011,类__init__.py'], '012': ['012,类,方法的相互,调用.py'], '013': ['013,作业,os的应用.py']}
3、变变变
3.1 读取文本
f=open("083_uersinfo","r",encoding="utf-8")
data=f.read()
3.2 文本变字典
陆游游,aab123,1
黎明明,bba369,0
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
list_dic={'陆游游': ['陆游游,aab123,1'],'黎明明': ['黎明明', 'bba369', '0']}
方法一
list_dic = {}
for i in f:
list_dic[i.split(",")[0]]=[i.strip()] #strip 去空格和回车
print(list_dic)
3.3文本变列表
陆游游,aab123,1
黎明明,bba369,1' → ['陆游游,aab123,1', '黎明明,bba369,1']
list=data.split("\n")
print(list)
3.4 列表变字典
['黎明明', 'bba369', '0'] → {'黎明明': ['黎明明', 'bba369', '0']}
list_dic={}
list_dic[new_list_a[0]]=new_list_a # {'黎明明': ['黎明明', 'bba369', '0']}
3.5 列表变字符串 [去中括号]
"".join(list_b)
['黎明明,bba369,0']
['黎明明', 'bba369', '0' ] → 黎明明,bba369,0
list 和 list_a之间的变换,见稍后
list_b=['黎明明,bba369,0']
list_a=['黎明明', 'bba369', '0']
list_b_str="".join(list_b) #黎明明,bba369,0
list_a_str=",".join(list_a) #黎明明,bba369,0
3.6 字符串变列表
黎明明,bba369,0 → ['黎明明', 'bba369', '0']
['黎明明,bba369,0']
new_list_a=list_a_str.split(",") # ['黎明明', 'bba369', '0']
new_list_b=[list_a_str] #['黎明明,bba369,0']
3.7 列表 变 列表
【列表的几种形式】
[黎明明,bba369,0] # 错误! 字符串没有引号
[88.9,99,22] ['88.9', '99', '22']
['黎明明,bba369,0'] ['黎明明', 'bba369', '0']
['黎明明', 'bba369', '0'] ['黎明明,bba369,0']
["a","b","c","e","f"] ['c', 'e', 'f'] **== 列表切片==**
list_b=[88.9,99,22]
list_c=['黎明明,bba369,0']
list_d=['黎明明', 'bba369', '0']
list_e=["a","b","c","e","f"]
new_list_b=[str(i) for i in list_b] #使用列表推导式把列表中的单个元素全部转化为str类型
# [88.9,99,22] → ['88.9', '99', '22']
new_list_c=("".join(list_c)).split(",")
new_liset_d=(",".join(list_d)).split()
# ['黎明明,bba369,0'] → ['黎明明', 'bba369', '0']
# ['黎明明', 'bba369', '0'] → ['黎明明,bba369,0']
print(new_list_b,"new_list_b=")
print(new_list_c,"new_list_c")
print(new_liset_d,"new_liset_d")
print(list_e[slice(2,5)])
[str(i) for i in list_b]
#这个厉害哈 可以变浮点 ,可以变字符串.
3.8 元组变列表
表格里面读出的数据 是元组 ,要转换成列表
A=('姓名', '分数')
print(list(A))
→['姓名', '分数']
- 逆运算 tuple(list)
3.9 字典变字符串
{'黎明明': ['黎明明', 'bba369', '0']} → 黎明明,bba369,0
for i in list_dic:
str=",".join(list_dic[i]) # 列表 变字符串【去中括号】
3.10 字典变文本
list_dic={'陆游游': ['陆游游,aab123,1'],'黎明明': ['黎明明', 'bba369', '0']}
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
陆游游,aab123,1
黎明明,bba369,0
{‘黎明明’: [‘黎明明’, ‘bba369’, ‘0’]}
{‘陆游游’: [‘陆游游,aab123,1’]
没有影戏
# 定位 并清空文本
f.seek(0)
f.truncate()
#把字典里面的value 分行写入文本
for i in list_dic:
f.write(list_dic[i][0] + "\n")
3.11 字典取key 取value 取item
d = {'a' : 24, 'g' : 52, 'i' : 12, 'k' : 33}
print(d.items())
# dict_items([('a', 24), ('g', 52), ('i', 12), ('k', 33)])
print(list(d.items()))
# [('a', 24), ('g', 52), ('i', 12), ('k', 33)]
print(list(d.keys())) #以列表的形式 ,输出字典中的key
# ['a', 'g', 'i', 'k']
print(list(d.values()))
# [24, 52, 12, 33]
3.12 文本变字典
陆游游,aab123,1
黎明明,bba369,0
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
list_dic={'陆游游': ['陆游游,aab123,1'],'黎明明': ['黎明明', 'bba369', '0']}
方法一
list_dic = {}
for i in f:
list_dic[i.split(",")[0]]=[i.strip()] #strip 去空格和回车
print(list_dic)
方法二
n = 0
list_dic={}
for i in list_dic:
print(i) # 陆游游,aab123,1
list_dic[i.split(",")[0]] = [list_dic[n]]
n += 1
print(list_dic)
2、 文本 → 列表 取原始文本中任意值
-
方法一
文本样本 091-股票数据股票代码,股票名称
SH601778,N晶科
SH688566,吉⻉贝尔
SH688268,华特⽓气体
f = open("091-股票数据", "r+", encoding="utf-8")
for i in f:
key=i.split(",")[1]
value=i.strip().split(",")
print(key,value)
-
结果
N晶科 ['SH601778', 'N晶科'] 吉⻉贝尔 ['SH688566', '吉⻉贝尔'] 华特⽓气体 ['SH688268', '华特⽓气体']
-
方法一 先data ,文本数据不消失,可以多次利用。 效果一样
f = open("091-股票数据", "r+", encoding="utf-8")
data = f.read().split()
print(data)
for i in data :
key=i.split(",")[1]
value=i.strip().split(",")
print(key,value)
4、 列表中数字格式的字符串 排序
[‘6.29’, ‘52.66’, ‘88’, ‘2.60’, ‘0.36’]
[‘88.0’, ‘52.66’, ‘6.29’, ‘2.6’, ‘0.36’]
list=[float(i) for i in list] #这个厉害哈 可以变浮点 ,可以变字符串
list.sort(reverse=True) # 排序
list=[str(i) for i in list] #变回 字符串
5 列表拐弯
制造中心
车身部
2018102
范希于
for i in sheet:
for v in i:
print(v.value)
print()
制造中心,车身部,2018072,孙同超
5.1 表格数据源
序号 中心 部门 工号 ... 状态 出生日期 手机 身份证
0 1 制造中心 车身部 2018060 ... 离职 1986-09-02 15562109936 371122198609023136
1 2 制造中心 车身部 2018064 ... 在岗 1989-08-03 13573971069 371321198908036919
2 3 制造中心 车身部 2018065 ... 在岗 1973-01-03 13615396291 372832197301037432
.....
# -*- coding:utf-8 -*-
import pandas as pd
df=pd.read_excel("制造中心-车身部花名册3.23.xlsx")
for i in df:
print(i)
序号
中心
部门
工号
姓名
邮箱
状态
出生日期
手机
身份证
更改
print(i,end=" " ) 即可
序号 中心 部门 工号 姓名 邮箱 状态 出生日期 手机 身份证