为了账号安全,请及时绑定邮箱和手机立即绑定

Python3从CSV整数写入和读取到字符串

Python3从CSV整数写入和读取到字符串

回首忆惘然 2022-11-01 16:13:32
我花了几个小时盯着这个,我无法弄清楚。我敢肯定这是基本的,但如果你能帮助我,那就太好了。我有一个名为“export_data”的列表,其中包含其他列表和整数。例如。print(type(export_data[0]))print(type(export_data[5]))#Output is: <class 'list'><class 'int'>然后我将“export_data”写入 csv 文件。但是,当我随后读取文件并提取列值时,它会以字符串的形式返回。所以现在我有一个“[1,2,3]”,我不确定如何转换回列表。with open('record ' + str(current) + '.csv', 'a', newline='') as f:    writer = csv.writer(f)    writer.writerow(export_data)    del writer    f.close()with open('record Wednesday,Apr:29.csv', 'r') as rf:    reader = csv.reader(rf)    for i in reader:        (group_a.append(i[1]))        (x.append(i[0]))        (hr.append(i[5]))print(type(export_data[0]))print(type(export_data[5]))#Output: <class 'str'><class 'str'>我正在使用 csv 文件中的数据在 DASH 中使用 plotly 绘制数据。因此,我无法为我的 x 和 y 值输入列表。谢谢你的帮助。
查看完整描述

1 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

要将 "[1,2,3]" 转换回列表,请使用 Patrick Artner 提到的 eval() 或 ast.literal_eval (注意:eval 不是一个好的做法,也不安全,请参阅评论。我仍然快速使用它如果我确定输入数据是安全的,则本地脚本):


lst_str = eval("[1,2,3]")

print(lst_str)

print(type(lst_str))

===


import ast


lst_str = ast.literal_eval("[1,2,3]")

print(lst_str)

print(type(lst_str))

输出:


[1, 2, 3]

<class 'list'>


查看完整回答
反对 回复 2022-11-01
  • 1 回答
  • 0 关注
  • 305 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号