Python 文本→列表→字符串→列表→字典→文本之间

  • 文本文件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=" " ) 即可

序号 中心 部门 工号 姓名 邮箱 状态 出生日期 手机 身份证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值