【发布时间】:2021-08-09 21:06:47
【问题描述】:
我正在尝试将 Unix 秒数从 csv 文件转换为日期和时间,并尝试将输出作为新列写入 csv 文件。我可以转换和打印日期和时间,但我不能将其写入与新列相同的 csv。
AttributeError: 'set' 对象没有属性 'keys'
我尝试用不同的方式写作,但卡住了。我做错了什么?
import pandas as pd
df = pd.read_csv ('C:/New.csv',sep=';')
print (df)
import datetime
import csv
for i in range(0,len(df)):
row= df.iloc[i]['arrival_unix_seconds']
a = int(row)
date = datetime.datetime.utcfromtimestamp(a)
targetDate = date.strftime("%Y-%m-%d %H:%M:%S")
#print(targetDate)
#targetDate.to_csv("b.csv", sep=';', index=False)
with open("New.csv", "a") as inputfile:
title = ["id", "space_id", "arrival_unix_seconds", "departure_unix_seconds", "xml_id", "Arrival_time"]
writer = csv.DictWriter(inputfile, delimiter=';', fieldnames = title)
writer.writerow({"Arrival_time: targetDate"})
样本数据
id;space_id;arrival_unix_seconds;departure_unix_seconds;xml_id;Arrival_time 2950;72729;1619808731;1619809039;22
320;16639;1612627087;1612628433;76
82;3408;1609751088;1609751723;7
【问题讨论】:
-
顾名思义,
DcitReder用于阅读。您需要csv.DictWriter进行写作。另外,如果使用 pandas,请查看pandas.to_csv -
谢谢 Buran,我已经尝试过了,但我得到一个新错误 AttributeError: 'set' object has no attribute 'keys'
-
{"Arrival_time: targetdata"}是set,而不是dict。 -
请建议可以做些什么来使它成为一个字典。 @buran
-
你的意思可能是
{"Arrival_time": target_data};你所拥有的是一个集合,其中包含一个 看起来 像键值对的单个字符串。
标签: python pandas csv datetime unix-timestamp