【发布时间】:2017-11-30 12:23:21
【问题描述】:
我有一个 JSON 格式的 list,我将其打印如下:
for item in points:
print(format(item))
结果如下:
{u'TEMP': 30, u'LIGHT': 315, u'HUMIDITY': 30.9, u'SOURCE': u'arduino_1', u'PLACE': u'kitchen', u'time': u'2016-12-31T11:18:38.822822913Z'}
{u'TEMP': 31, u'LIGHT': 325.5, u'HUMIDITY': 31.93, u'SOURCE': u'arduino_1', u'PLACE': u'garage', u'time': u'2016-12-31T11:18:39.919019993Z'}
{u'TEMP': 32, u'LIGHT': 336, u'HUMIDITY': 32.96, u'SOURCE': u'arduino_1', u'PLACE': u'living_room', u'time': u'2016-12-31T11:18:41.014792508Z'}
{u'TEMP': 33, u'LIGHT': 346.5, u'HUMIDITY': 33.99, u'SOURCE': u'arduino_1', u'PLACE': u'basement', u'time': u'2016-12-31T11:18:42.11100167Z'}
首先,我的数据源存在问题,在每个项目之前都打印了 'u' 字符。
我想用这样的格式将每一行写入 CSV 文件中(第一行是 CSV 标题)
TIME,SOURCE,PLACE,TEMP,LIGHT,HUMIDITY
2016-12-31T11:18:38.822822913Z,arduino_1,kitchen,30,315,30.9
我正在尝试使用 csv 包来执行此操作。但我不确定如何从列表中的项目中获取每一行的数据并更改它们在生成的 CSV 文件中出现的顺序:
with open('output.csv', 'wb') as csvfile:
writer = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
writer.writerow(points)
感谢您对 Python 菜鸟的帮助。
【问题讨论】:
-
“首先,我的数据源存在问题,在每个项目之前都打印了 'u' 字符。”为什么你认为这是个问题?
-
DictWriter是为您制作的,将 dicts 列表写入 csv 文件。 -
@DeepSpace hmmm 那
u是什么意思呢? -
@SaeidYazdani stackoverflow.com/questions/2464959/…
标签: python json export-to-csv