为了账号安全,请及时绑定邮箱和手机立即绑定

python代码不适用于excel但适用于csv文件

python代码不适用于excel但适用于csv文件

青春有我 2022-04-23 17:14:09
我编写了一个适用于 csv 文件的代码,但是如果我将文件类型从 csv 更改为 excel,它会给我一个错误。我有,data = pd.read_excel(filename)如果我写,上面的行不适用于excel data = pd.read_csv(filename),它工作正常。我希望我在 excel 中的输入数据不是 csv。import tkinter as tkimport pandas as pdfrom tkinter.filedialog import askopenfilenameimport xlrddef latlong_func(filename):    # filename instead of r'C:/Users/patesari/Desktop/python work/Gap1.csv'    data = pd.read_excel(filename)    #df = pd.DataFrame(data, columns=['SUPPLIER_ID','ACTION'])    data["latlong"] = 'FALSE'    data.loc[        (data["LONGITUDE"] >= 70.0000) & (data["LONGITUDE"] <= 98.0000) &        (data["LONGITUDE"] != 'nan') & (data["LATITUDE"] != 'nan')&        (data["LATITUDE"] >= 6.0000) & (data["LATITUDE"] <= 36.000),        ["latlong"]] = ''    data.to_csv("practice1.csv")    writer = data[data["latlong"]=='']    writer.to_csv('newfile1.csv')    writer.to_csv('latlong1.csv')    print("Kindly ignore the message..your output is genrated sucessfully....")     def get_filename():      filename = askopenfilename(filetypes =[('Python Files', '*.xlsx')])      if filename:         lbl['text'] = filename # display filename in Label         latlong_func(filename)     else:         lbl['text'] = 'not selected'    # --- main ---    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()有人请帮助我知道我在哪里做错了。
查看完整描述

2 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

请检查您的 excel 文件扩展名,假设filename=file.csv这样data=pd.read_csv(filename)可以工作

或者

如果filename=file.xlsx那么data=pd.read_excel(filename)会工作

如果您想在 excel 中输入数据而不是 csv,则使用以下代码将 .csv 转换为 .xlsx,然后选择转换后的文件并用于data=pd.read_csv(filename)读取您的 excel 文件

export_excel = df.to_excel ('file_path_to_save', index = None, header=True)#Don't forget to add '.xlsx' at the end of the path

希望这对你有用

如果我的回答为您提供解决方案,请投票谢谢


查看完整回答
反对 回复 2022-04-23
?
潇湘沐

TA贡献1816条经验 获得超6个赞

KeyError:“经度”

  • Pandas excel解析和csv解析会有所不同。话虽如此,尝试通过打印“数据”来查看两种方法调用之间的区别

  • 如果您的文件扩展名正确,那么我建议您尝试使用其他 xlsx 解析器库,例如“pyexcel”(您可以使用此库进行读/写)。http://docs.pyexcel.org/en/latest/。您将能够看到 Excel 中的表格数据如何更改为不同的数据结构,例如“列表列表”或“元组列表”等。


查看完整回答
反对 回复 2022-04-23
  • 2 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信