我在文本文件中的一些數據如下所示圖像(它的整個數據的只是一部分)。什麼是過濾出密鑰的最佳方式?從提取的文本數據的某些部分爲CSV使用Python
{ u'chan': 5,
u'cls': 0,
u'codr': u'4/5',
u'data': u'ABfxqqqpVVVOAAA='
}
我在文本文件中的一些數據如下所示圖像(它的整個數據的只是一部分)。什麼是過濾出密鑰的最佳方式?從提取的文本數據的某些部分爲CSV使用Python
{ u'chan': 5,
u'cls': 0,
u'codr': u'4/5',
u'data': u'ABfxqqqpVVVOAAA='
}
對於你貼什麼形式的一系列文件的嘗試
import csv
filenames=[...]
#open your output file in append mode
with open('output.csv','a+') as out:
outwriter = csv.writer(out,dialect='excel')
#write your headers
outwriter.writerow(['header1','header2','header3'])
#for every file
for fname in filenames:
with open(fname) as f:
#list that holds each row
csvlines=[]
#labels you wanna keep
keep=["u'data'","u'rssi'","u'timestamp'"]
lines=f.readlines()
print lines
#split at first : character
lines = map(lambda x:x.split(':',1),lines)
for line in lines:
if line[0].strip() in keep:
csvlines.append(line[1].strip())
#clean from unnecessary characters
csvlines=map(lambda x:x.replace("u'","").replace("'","").replace(",",""),csvlines)
#write it to csv and then reset it for the next file.
if(len(csvlines)==3):
print "writing"
print csvlines
outwriter.writerow(csvlines)
csvlines=[]
嗨,我有一個文件包含了很多相同格式的數據。它是如何工作的呢? – James
重置每3個附加? – themistoklik
即時獲取ValueErrorr:'wa'的無效模式 – James
假設樣本數據是數據的一個記錄,您可以用熊貓直接子集,並導出到Excel工作簿。
import pandas as pd
df = pd.DataFrame({ u'chan': 5,
u'cls': 0,
u'codr': u'4/5',
u'data': u'ABfxqqqpVVVOAAA=',
u'datr': u'SF10BW125',
u'freq': u'912.9',
u'lsnr': u'-8.2',
u'mhdr': u'8007000002001900',
u'modu': u'LORA',
u'opts': u'',
u'port': 5,
u'rfch': 1,
u'rssi': -111,
u'seqn': 25,
u'size': 16,
u'timestamp': u'2016-11-17T09:51:44.406724Z',
u'tmst': 2477375724L},index=[0])
df = df[['data','chan','timestamp','rssi']]
oName = #Path to desired excel workbook
df.to_excel(oName,'Sheet1')
示例數據只是我的文本文件的一部分。我確實有其中的多個 – James
不鏈接到圖片..在您的問題中複製和粘貼示例數據。顯示您嘗試過的代碼?你能用python讀取文本文件嗎?你能提取字典嗎?你知道如何用python編寫文件嗎? –
查找ast.eval python模塊。它可以讓你把你的字典作爲一個字符串,並將其轉換爲一個Python字典。 –