##起きているエラー
pandasで重複行を削除したいです。
しかし、
AttributeError: 'DataFrame' object has no attribute 'close'
と出力されます。
pandasの問題かと思い、pythonのset関数に変えてみたところ、
まったく同じエラーに遭遇しました。
AttributeError: 'set' object has no attribute 'close'
もし原因がわかる方がいらっしゃれば、何卒、ご教授お願い申し上げます。
pytthon
1import os, tkinter, tkinter.filedialog, tkinter.messagebox 2import pandas as pd 3import numpy as np 4import math 5import codecs 6 7def file_search(): 8 root = tkinter.Tk() 9 root.withdraw() 10 fTyp = [("","*.csv")] 11 iDir = os.path.abspath(os.path.dirname(__file__)) 12 file = tkinter.filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir) 13 with codecs.open(file, "r", "cp932", "ignore") as file: 14 df = pd.read_table(file, delimiter=",", skipinitialspace = True) 15 after = df.drop_duplicates() 16 df.to_csv(after, encoding="cp932")
(base) C:\WINDOWS\system32>python C:\Users\onvcgkjcqh\Downloads\tk\tk_main.py Exception in Tkinter callback Traceback (most recent call last): File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\site-packages\pandas\io\formats\csvs.py", line 149, in save self.writer = UnicodeWriter(f, **writer_kwargs) File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\site-packages\pandas\io\common.py", line 517, in UnicodeWriter return csv.writer(f, dialect=dialect, **kwds) TypeError: argument 1 must have a "write" method During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\tkinter\__init__.py", line 1702, in __call__ return self.func(*args) File "C:\Users\onvcgkjcqh\Downloads\tk\tk_main.py", line 18, in button0 tk_dialog_csv_0.file_search() File "C:\Users\onvcgkjcqh\Downloads\tk\tk_dialog_csv_0.py", line 16, in file_search df.to_csv(after, encoding="cp932") File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\site-packages\pandas\core\frame.py", line 1745, in to_csv formatter.save() File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\site-packages\pandas\io\formats\csvs.py", line 165, in save f.close() File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\lib\site-packages\pandas\core\generic.py", line 4372, in __getattr__ return object.__getattribute__(self, name) AttributeError: 'DataFrame' object has no attribute 'close'
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/21 03:09 編集
2019/04/21 03:20
2019/04/21 06:25
2019/04/21 06:55
2019/04/22 08:28 編集