【发布时间】:2023-03-14 13:17:02
【问题描述】:
我的 csv 文件如下所示:
{http://www.omg.org/XMI}id,begin,end,Character
18074,15,19,Tony
18120,39,46,Tony
18172,129,134,Clint
18217,175,180,Bucky
18202,245,249,Tony
18307,352,357,Bucky
18376,1297,1302,Steve
18421,1499,1504,Bruce
18489,1546,1553,Natasha
18527,1709,1712,Bucky
我希望能够从列begin 和end 创建一个元组列表,从第二行开始,当然忽略标题行。
到目前为止,我可以创建一个元组列表,但对于 所有 行和列:
import csv
import tkinter
from tkinter import filedialog
root_tk = tkinter.Tk()
root_tk.wm_withdraw()
filename = filedialog.askopenfilename()
with open(filename, 'r') as f:
data=[tuple(line) for line in csv.reader(f)]
print(data)
root_tk.destroy()
root_tk.mainloop()
当前输出:
[('{http://www.omg.org/XMI}id', 'begin', 'end', 'Character'), ('18646', '518', '520', 'Anakin'), ('18699', '982', '985', 'Jedi'), ('18714', '1018', '1020', 'Anakin'), ('18766', '1057', '1059', 'Anakin'),...
期望的输出:
[(15, 19), (39,46), (129, 134), (175, 180)...]
如何将输出限制为这两列,同时忽略第一行并从中创建元组列表?
提前致谢!
编辑:
我现在可以打印我想要的元组,但我仍然无法从输出中删除第一行。
另外,如何将字符串元组的输出转换为整数?
【问题讨论】:
-
tuple(line)[1:3]? -
@krishna 是的,我试过了。它有点工作,但它仍然给了我第一行(标题行),并将数字打印为带括号的字符串。我编辑了我的问题。
标签: python list csv tuples multiple-columns