如何解决AttributeError: 'set' 对象没有属性 'keys'
我正在尝试将 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
解决方法
试试 apply
这比一行一行迭代快得多
df['arrival_unix_seconds'] = df.arrival_unix_seconds.apply(lambda x: \
(datetime.datetime.utcfromtimestamp(int(x))).strftime("%Y-%m-%d %H:%M:%S"))
# Save it like this
pd.to_csv('NEW.csv',index=False)
代替这个
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: targetdata"})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。