私の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
2行目からタプルのリストを作成できるようにしたいと思います。
これまでのところ、タプルのリストを作成できますが、すべての行と列についてです。
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)...]
最初の行を無視してそれらからタプルのリストを作成しながら、出力をこれらの2つの列に制限するにはどうすればよいですか?
前もって感謝します!
編集:
これで、必要なタプルを印刷できますが、出力から最初の行を削除することはできません。
また、出力を文字列タプルから整数に変換するにはどうすればよいですか?
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)]
これがお役に立てば幸いです:)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加