[英]In python raise ValueError("Cannot convert {0!r} to Excel".format(value))
[英]raise ValueError("Cannot convert {0!r} to Excel".format(value))
我正在尝试使用df.dropna
函数,并且我想使用和使用符号“,”和或使用符号“|”多次嵌套它根据文档https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dropna.html#pandas.DataFrame.dropna 。 在我的代码中,我将一个 csv 文件转换为 Pandas,然后我正在调整列中的数据
df = df[['Lastname', 'Firstname','Company','Title','Willing_to_share','Willing_to_introduce','work_phones','Work_email','Work_Street','Work_City','Work_State','Work_Zip','Personal_Street','Personal_City','Personal_State','Personal_Zip','mobile_phones','Personal_email','Note','Note_Category']]
##print(df)
## Lastname Firstname Company Title Willing_to_share \
0 Doe Jane
1 Malcoun Joe 8/28/2019 14:29
2 Ramirez Morgan
3 Burki Roman
4 None Jordan
5 None
6 Zachuani Reemo
7 Suarez Geraldo
Willing_to_introduce work_phones Work_email \
0 5678743546 j@greenbriar.com
1 None ceo@nutshell.com
2 3338765438 mramirez@nerdy.com
3 5468756098 burki@bvb.com
4 None jordanw45490@gmail.com
5 None ronny
6 None
7 None
Work_Street Work_City Work_State Work_Zip Personal_Street \
0 54 George street Ridge Springs VA 25678
1 212 South Fifth Ave Ann Arbor MI 48103
2 567 one st Birmingham AL 45678
3 546 fourteen street Nw Dallas TX 54678
4
5
6
7 456 yellow street
Personal_City Personal_State Personal_Zip mobile_phones Personal_email Note \
0 3245687907
1 None
2 6780431874
3 0983457690
4 None
5 None
6 None
7 None
Note_Category
0
1
2
3
4
5
6
7
我在 if 语句之前创建了工作簿
wb = Workbook()
ws = wb.active
wb.title = 'Contacts'
wb2 = Workbook()
ws2 = wb2.active
wb2.title = 'Contacts'
我将列标题放在函数中。 我想要实现的是找到有效的行,这些行必须具有名字、姓氏和至少一个电话,或任何类型(个人或工作)的地址或电子邮件,不为空。 然后我将把它放在一个excel数据表中。 然后是第二个数据表中的函数的反函数
r1 = df.dropna(subset=['Firstname', 'Lastname', ('work_phones' or 'mobile_phones') or (('Work_City','Work_Street','Work_State','Work_Zip') or ('Personal_Street','Personal_City','Personal_State','Personal_Zip')) or ('Work_email' or 'Personal_email')])
for r in dataframe_to_rows(r1, index=False, header=False):
ws2.append(r)
wb.save("Accepted Contacts.xlsx")
但是,当我运行它时出现此错误
raise ValueError("Cannot convert {0!r} to Excel".format(value))
ValueError: Cannot convert ['Doe', 'Jane', nan, nan, nan, nan, '5678743546', 'j@greenbriar.com', '54 George street', 'Ridge Springs', 'VA', '25678', nan, nan, nan, nan, '3245687907', nan, nan, nan] to Excel
我是 Python 和学习基础知识的新手。 我在粗体突出显示的行中可能遇到相同的错误,我怀疑它与浮点转换有关。
该代码只是通过乘以 90% 并将 excel 保存在新工作表中来转换列值
import openpyxl as xl
wb = xl.load_workbook('transactions.xlsx') # Load workbook excel
sheet = wb['Sheet1'] # Load Sheet in which you need to work
cell = sheet['a1']
cell = sheet.cell(1,1)
for row in range(2, sheet.max_row + 1):
cell = sheet.cell(row, 3)
corrected_price = cell.value * 0.9
corrected_price_cell = sheet.cell(row, 4)
**corrected_price_cell.value = corrected_price_cell**
# wb.save('transactions2.xlsx')
所以我正在试验 SQL 和 openpyxl。 今天我遇到了同样的错误。
对我来说,这是 SQL 解析我的数据的方式。 因为我在 SQL 上有一些可变长度的列表,excel 不知道把它们放在哪里。 我解决了我的问题,弹出导致问题的数据并单独放置。 请记住首先检查您的结果是什么类型的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.