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( )