【发布时间】:2019-09-11 16:49:51
【问题描述】:
我有两个 csv 格式的文件,想要比较列。我希望列表出现在其他 csv 文件中
import tkinter as tk
import pandas as pd
from tkinter.filedialog import askopenfilename
def latlong_func(filename):
data = pd.read_csv(filename)
data["latlong"] = 'FALSE'
data.loc[(data["FAC_TYPE"] ==9500)|
(data["FAC_TYPE"] ==9501)|
(data["FAC_TYPE"] ==9502)|
(data["FAC_TYPE"] ==9503)|
(data["FAC_TYPE"] ==9504)|
(data["FAC_TYPE"] ==9506)|
(data["FAC_TYPE"] ==9507)|
(data["FAC_TYPE"] ==9508)|
(data["FAC_TYPE"] ==9509)|
(data["FAC_TYPE"] ==9510)|
(data["FAC_TYPE"] ==9511)|
(data["FAC_TYPE"] ==9514)|
(data["FAC_TYPE"] ==9515)|
(data["FAC_TYPE"] ==9516)|
(data["FAC_TYPE"] ==9517)|
(data["FAC_TYPE"] ==9520)|
(data["FAC_TYPE"] ==9521)|
(data["FAC_TYPE"] ==9522)|
(data["FAC_TYPE"] ==9527)|
(data["FAC_TYPE"] ==9529)|
(data["FAC_TYPE"] ==9529)|
(data["FAC_TYPE"] ==9531)|
(data["FAC_TYPE"] ==9536)|
(data["FAC_TYPE"] ==9529)|
(data["FAC_TYPE"] ==9529)|
(data["FAC_TYPE"] ==9529)|
(data["FAC_TYPE"] ==9540)|
(data["FAC_TYPE"] ==9542)|
(data["FAC_TYPE"] ==9544)|
(data["FAC_TYPE"] ==9545)|
(data["FAC_TYPE"] ==9546)|
(data["FAC_TYPE"] ==9547)|
(data["FAC_TYPE"] ==9548)|
(data["FAC_TYPE"] ==9549)|
(data["FAC_TYPE"] ==9550)|
(data["FAC_TYPE"] ==9551)|
(data["FAC_TYPE"] ==9552)|
(data["FAC_TYPE"] ==9553)|
(data["FAC_TYPE"] ==9554)|
(data["FAC_TYPE"] ==9555)|
(data["FAC_TYPE"] ==9556)|
(data["FAC_TYPE"] ==9557)|
(data["FAC_TYPE"] ==9558)|
(data["FAC_TYPE"] ==9559)|
(data["FAC_TYPE"]==9561)|
(data["FAC_TYPE"]==9562)|
(data["FAC_TYPE"] ==9563)|
(data["FAC_TYPE"] ==9564)|
(data["FAC_TYPE"] ==9566)|
(data["FAC_TYPE"] ==9513)|
(data["FAC_TYPE"] ==9569)|
(data["FAC_TYPE"] ==9572)|
(data["FAC_TYPE"] ==9574)|
(data["FAC_TYPE"] ==9575)|
(data["FAC_TYPE"] ==9576)|
(data["FAC_TYPE"] ==9577)|
(data["FAC_TYPE"] ==9578)|
(data["FAC_TYPE"] ==9580)|
(data["FAC_TYPE"] ==9581)|
(data["FAC_TYPE"] ==9584)|
(data["FAC_TYPE"] ==9585)|
(data["FAC_TYPE"] ==9586)|
(data["FAC_TYPE"] ==9990)|
(data["FAC_TYPE"] ==9589), ["latlong"]] ='TRUE'
data.to_csv("C:/Users/patesari/Desktop/python
work/practice1.csv")
writer = data[data["latlong"]=='TRUE']
writer.to_csv('C:/Users/patesari/Desktop/python
work/newfile1.csv', index=False)
writer.to_csv('C:/Users/patesari/Desktop/python
work/outputfiles/latlong1.csv', index=False)
def get_filename():
filename0 = askopenfilename(filetypes =[('Python Files', '*.csv')])
filename1 = askopenfilename(filetypes =[('Python Files', '*.csv')])
if filename:
lbl['text'] = filename
latlong_func(filename)
else:
lbl['text'] = 'not selected'
root = tk.Tk()
root.geometry('200x100')
lbl = tk.Label(root, text='Select filename')
lbl.pack(side='top', pady=10)
btn = tk.Button(root, text='Open', command=get_filename)
btn.pack(side='top', pady=10)
root.mainloop()
在上面我动态获取文件,但我已经硬编码了“或”文件。我想将它与存在列表的第二个 csv 文件进行比较。而不是硬编码的文件。 我们如何将列表存储在特定路径中的 csv 中,然后比较该文件
【问题讨论】:
-
现在你有
filename0和filename1但你仍然使用旧变量filename- 这是错误 -
如果你有两个文件名,那么你需要两个标签来显示名称,使用你必须使用
read_csv两次来读取两个文件,并将数据保存在两个变量中,等等。 -
您的代码有错误的缩进,我们不知道函数中有哪些行
-
你能帮我写出正确的代码吗?