gpt4 book ai didi

python - 如何从 csv 文件的两个特定列创建元组列表?

转载 作者:太空宇宙 更新时间:2023-11-04 07:14:48 25 4
gpt4 key购买 nike

我的 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

我希望能够从 beginend 列创建一个元组列表,从第二行开始,当然忽略标题行.

到目前为止,我可以为所有行和列创建一个元组列表:

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)...]

如何将输出限制为这两列,同时忽略第一行并从中创建元组列表?

提前致谢!

编辑:

我现在可以打印我想要的元组,但我仍然无法从输出中删除第一行。

另外,如何将字符串元组的输出转换为整数?

最佳答案

你可以使用 DictReader并根据您需要的列创建元组

import csv

filename = filedialog.askopenfilename()
with open(filename, 'r') as f:
data=[(int(line['begin']),int(line['end'])) for line in csv.DictReader(f)]
print data

输出:

[(15, 19), (39, 46), (129, 134), (175, 180), (245, 249), (352, 357), (1297, 1302), (1499, 1504), (1546, 1553), (1709, 1712)]

希望这对您有所帮助:)

关于python - 如何从 csv 文件的两个特定列创建元组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51808662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com