python - 类型错误:使用新创建的列表时 + 的不支持的操作数类型:'float' 和 'str'
问题描述
我正在使用外部 Excel 电子表格来获取值列表。目前,该脚本可以完美地满足我的需求,获取列表并按照我的需要进行操作。我还可以将列表更改为已经存在的其他工作表和列。但是,当我创建一个新列(在现有工作表和新工作表上)并尝试使用此列表时,我收到以下消息:
类型错误:+ 的不支持的操作数类型:“float”和“str”
df = pd.read_excel(r'C:/Desktop/List.xlsx', sheet_name='Country Codes')
Countrylist = df['Country'].tolist()
extension = '.xlsx'
Clist = [x + extension for x in Countrylist]
Countries = Clist
df = pd.read_excel(r'C:/Desktop/List.xlsx', sheet_name='Country Codes')
Countrylist = df['CountryA'].tolist()
extension = '.xlsx'
Clist = [x + extension for x in Countrylist]
Countries = Clist
在第一个示例中,我使用的是已创建的Country列。在第二个示例中,我使用的是新创建的CountryA列。第一个示例将完美运行,第二个示例将在 处失败Clist = [x + extension for x in Countrylist]
,并给出上面的错误消息。下面显示了我正在使用的两个数据集的示例。它是相同的数据,被复制过来。我也为 B 列中的国家/地区代码尝试了相同的脚本(之前创建的)并且它有效,所以我相信这与新列有关。
有谁知道为什么我不能将脚本用于新创建的列(CountryA)?
解决方案
您在列中有一个数字或NaN
值CountryA
;可能来自 Excel 自动格式化一个空单元格。您可以通过以下方式在使用之前将整个列转换为字符串:
Countrylist = df['CountryA'].astype(str).tolist()
然后运行脚本的其余部分。
推荐阅读
- electron - 如何使用 BrowserWindow 打开多个 VUE-CLI 模板。电子
- haskell - Haskell - 显示函数从 Int-Value 中删除第一个元素零 - 如何避免它?
- assembly - 在汇编中编写一个子例程,用 0 替换绝对值大于正值 X 的序列元素
- python - BeautifulSoup4 抓取 URL 不变的页面 [Python]
- javascript - 这个想法是点击标签以显示下拉菜单项
- flutter - 在 Flutter 中更改选项卡时添加进度指示器
- excel - 检查时间是否在vba中的特定范围内
- c# - Xamarin Essentials 连接始终返回蜂窝连接
- hl7-fhir - 暴露给 FHIR 服务器的电子健康记录
- c - 引发 FE_INEXACT 后执行的典型用户定义逻辑是什么?