import csv, json
header = ['ID', 'name', 'type', 'area', 'HAC', 'verticalAccuracy', 'course', 'lat', 'lng']
with open('file.DAT') as datfile:
with open('output.csv', 'wb') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=header)
writer.writeheader()
for line in datfile:
writer.writerow(json.loads(line))
import re, ast
result = []
s = '''{"name":"ABSDSDSRF","ID":"AFJDKGFGHF","lat":37,"lng":-122,"type":0,"HAC":5,"verticalAccuracy":4,"course":266.8359375,"area":"san_francisco"}'''
item = re.compile(r'{[^}]*?}')
for match in item.finditer(s):
d = ast.literal_eval(match.group())
result.append(d)
如果文件中的每个数据项都位于单独的行上,则不需要正则表达式-只需在文件上迭代即可。
with open('file.dat') as f:
for line in f:
line = line.strip()
line = ast.literal_eval(line)
result.append(line)
这将创建一个csv,假设.DAT中的每一行都是json。只要按你喜欢的顺序排列标题
您的行是json格式的。因此,您可以使用:
这只是一个起点。你必须输入所有的.dat文件。最后,您必须编写导出程序才能将数据保存到csv文件中。
使用regex查找所有数据项。使用
ast.literal_eval
将每个数据项转换为字典。收集列表中的项目。如果文件中的每个数据项都位于单独的行上,则不需要正则表达式-只需在文件上迭代即可。
相关问题 更多 >
编程相关推荐