pythonlist转json
❶ python3 读excel转Json文件
from xlrd import *
import json
# 参考1-字典、列表转JSON:https://www.cnblogs.com/longchang/p/10904850.html
# 参考2-JSON直接保存到文件:https://www.cnblogs.com/miyatest/p/9603897.html
# 从excel读取数据存放到列表中
def readExcel():
keyData=[] # 定义空List,用于保存读到的行数据
excelBook=open_workbook("data.xlsx") # 从当前目录读取《data.xlsx》文件
table=excelBook.sheet_by_name("data") # 从《data.xlsx》中找名为 data的sheet页
rowNum=table.nrows # 获取《data.xlsx》-->data页中 行数
colNum=table.ncols # 获取《data.xlsx》-->data页中 列数
colName=table.row_values(0) # 取第一行数据,即列名,colName 是个List
# print(colName)
if rowNum<=1:
print("没数据...") # 如果行数<=1,说明没有数据,因第1行一般定义为列名
else:
for i in range(rowNum-1):
d={} # 定义空字典,用于存放获取到数据
values=table.row_values(i+1) # 获取每行的数据,values最终是个List
# print(values)
for x in range(colNum): # 每个列作为字典的一组数据
d[colName[x]]=values[x] # 用colName值作为字典的key,values值作业为字典的value
# print(d)
keyData.append(d) # 读完一行数据保存到字典,再保存到列表
# print(keyData)
return keyData # 全部数据读完并保存到列表后,返回
# 列表转Json
def listToJson():
keyParam=readExcel() # 调用从excel读取数据的函数,把数据保存到列表
CaseConfig=open("CaseConfig.json", mode="w+") # 创建json文件
CaseConfig.write('{\n"key":') # 往json文件中写数据,先写json的格式的{,和模块名
# 把从excel读取的数据转成Json格式保存入 CaseConfig,indent=4是进行格式化,使json排版好看
json.mp(keyParam, CaseConfig, indent=4)
CaseConfig.write('\n}') # 往json文件中写数据,写结尾的 },写前先换行
CaseConfig.close() # 关闭json文件,必要!!
if __name__ == '__main__': # 调试调用
listToJson()
❷ python怎么把list of objects转换成json
json包的mps方法可以将python中的对象转换为json格式
importjson
x=['a',{'c':'d'},1]
json.mps(x)
其中indent参数可以设置棚扮或缩链伍进值缺燃
json.mps(x,indent=4)
❸ python基础问题,数据转换
x = []
y = []
for item in result:
x.append(item[0])
y.append(item[1])
print(x, y)
运行效果
希望对您有所帮助!
❹ python中使用socket编程,如何能够通过UDP传递一个列表类型的数据
Python中的 list 或者 dict 都可以转成JSON字符串来发送,接收后再转回来。
首先
importjson
然后,把 list 或 dict 转成 JSON
json_string=json.mps(list_or_dict)
如果你用的是Python3,这里的 json_string 会是 str 类型(即Python2的unicode类型),可能需要编码一下:
if type(json_string) == six.text_type:
json_string = json_string.encode('UTF-8')
用socket发送过去,例如
s.sendto(json_string,address)
对方用socket接收,例如
json_string,addr=s.recvfrom(2048)
把JSON转成 list 或 dict
list_or_dict=json.loads(json_string)
下面是个完整的例子:
client.py
#!/usr/bin/envpython
#-*-coding:UTF-8-*-
importsocket
importjson
importsix
address=('127.0.0.1',31500)
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
mylist=[1,2,3,4,5,6,7,8,9,10]
json_string=json.mps(mylist)
iftype(json_string)==six.text_type:
json_string=json_string.encode('UTF-8')
s.sendto(json_string,address)
s.close()
server.py
#!/usr/bin/envpython
#-*-coding:UTF-8-*-
importsocket
importjson
address=('127.0.0.1',31500)
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(address)
json_string,addr=s.recvfrom(2048)
mylist=json.loads(json_string)
print(mylist)
s.close()
请先运行server.py,再运行client.py
❺ python里面list写成json格式
提供一个思路(ps:本思路没有具体实践过,得靠你来完成啦!)
你可以将那几个变量构造成一个json字符串,然后直接写入文件。
all_the_text="{'gain':"+gain+",'Pot':"+Pot+",'Accel':"+Accel+",'Fullscale':"+Fullscale+",}"
python中写入文件的过程如下:
file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )