পান্ডার টু এক্সেক্সেল ফাংশনটি একটি অপ্রত্যাশিত টাইপয়েরর উত্পন্ন করে


13

আমি পান্ডাস ডেটা ফ্রেমের একটি অভিধান তৈরি করেছি:

d[k] = pd.DataFrame(data=data[i])

সুতরাং আমি ধরে নিই যে d[k]এটি একটি সঠিক পান্ডাস ডেটা ফ্রেম।

তারপর

for k in d.keys():
  d[k].to_excel (file_name)

তারপরে আমার ত্রুটি আছে:

TypeError: got invalid input value of type <class 'xml.etree.ElementTree.Element'>, expected string or Element

আমি পাইথন 3.7, পান্ডাস 0.25.3 ব্যবহার করছি।

আপডেট : যদি আমি এর to_excelদ্বারা প্রতিস্থাপন করি to_csvতবে কোডটি পুরোপুরি চলে।


1
কি file_name? এটা কি স্ট্রিং?
কোয়াং হোয়াং

হ্যাঁ, তাই ঠিক এর মতো কিছু'/data/myfile.xlsx'
ম্যামমোথহাইন্ড

চেষ্টা করলে কি হয় d[k].to_excel(str(filename))?
কোয়াং হোয়াং

একই সমস্যা। আমি মনে করি না উপর মিথ্যা সমস্যা না file_name। আমি পরীক্ষা করে দেখেছি এবং নিশ্চিত যে এটি একটি বৈধ ফাইলের নাম।
ম্যামমোথহাইন্ড

আমি ওপিপিএক্সএল ব্যবহার করে একই ত্রুটি পেয়েছি: 3.0.2 প্যান্ডাস 0.25.3 পাইথন 3.8.1 (ট্যাগ / ভি3.8.1: 1 বি 293 বি 6, ডিসেম্বর 18 2019, 23:11:46) [এমএসসি ভি.1916 64 বিট (এএমডি 64)] সরানো হচ্ছে ওপেনপিএক্সএল 3.0.০.২ এবং ওপেনপেক্সএক্সলকে ৩.০.৩ এ আপগ্রেড করার বিষয়টি অন্যদের প্রতিবেদন অনুসারে স্থির হয়েছে। ধন্যবাদ. একটি জিনিস আমি যুক্ত করব: ওপেনপেক্সএক্সএল 3.0.2 বাগটি * .xlsx ফাইলটিকে ক্ষতিগ্রস্থ করেছিল যা এটি এক্সেল দ্বারা অপঠনযোগ্য এবং অপরিবর্তনযোগ্য করে তুলেছে।
ব্যবহারকারী 3967678

উত্তর:


37

আমারও একই সমস্যা আছে openpyxl=3.0.2,

এই উত্তরটি দেখুন , আমি ওপেনপেক্সেক্সলকে 3.0.1 (কনডা বা পাইপ) এ ফিরে যাচ্ছি এবং এটি কার্যকর হয়।

>>> conda remove openpyxl
>>> conda install openpyxl==3.0.1

অথবা

>>> pip uninstall openpyxl
>>> pip install openpyxl==3.0.1

1
এখানে ট্র্যাক করা হয়েছে: bitbucket.org/openpyxl/openpyxl/issues/1396/…
শহীদ হক

এই সমস্যাটি ওপেনপেক্সেল 3.0.3.3 এ স্থির করা হয়েছে।
zeeks
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.