python - 如何将csv文件中的所有列更改为str?

标签 python pandas

我正在编写一个脚本,该脚本导入 Excel 文件,迭代名为“Title”的列,如果“Title”中存在某个关键字,则返回 False。该脚本运行,直到我想要导出另一个 csv 文件,该文件为我提供了一个单独的列。我的错误如下:AttributeError: 'int' object has no attribute 'lower'

基于此错误,我使用 df['Title'].astype(str) 将 df.Title 更改为字符串,但我得到了同样的错误。

import pandas as pd

data = pd.read_excel(r'C:/Users/Downloads/61_MONDAY_PROCESS_9.16.19.xlsx')
df = pd.DataFrame(data, columns=['Date Added','Track Item', 'Retailer Item ID','UPC','Title','Manufacturer','Brand','Client Product 
Group','Category','Subcategory',
                           'Amazon Sub Category','Segment','Platform'])
df['Title'].astype(str)
df['Retailer Item ID'].astype(str)

excludes = ['chainsaw','pail','leaf blower','HYOUJIN','brush','dryer','genie','Genuine 
Joe','backpack','curling iron','dog','cat','wig','animal','dryer',':','tea', 'Adidas', 'Fila',
'Reebok','Puma','Nike','basket','extension','extensions','batteries','battery','[EXPLICIT]']

my_excludes = [set(x.lower().split()) for x in excludes]
match_titles = [e for e in df.Title.astype(str) if any(keywords.issubset(e.lower().split()) for 
keywords in my_excludes)]

def is_match(title, excludes = my_excludes):
    if any(keywords.issubset(title.lower().split()) for keywords in my_excludes):
        return True
    return False

这是返回错误的部分:

df['match_titles'] = df['Title'].apply(is_match)
result = df[df['match_titles']]['Retailer Item ID']
print(df)
df.to_csv('Asin_List(9.18.19).csv',index=False)

最佳答案

使用以下代码导入您的文件:

data = pd.read_excel(r'C:/Users/Downloads/61_MONDAY_PROCESS_9.16.19.xlsx',
                      dtype='str')`

关于python - 如何将csv文件中的所有列更改为str?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58033135/

相关文章:

python - 如何创建字典元组

python - Robot Framework 的 Mongo Db 扩展库返回错误记录

python - 在 Pandas df 中创建新列,其中每行的值取决于紧邻其上方的行中不同列的值

python - 从数据框中删除列索引

Python:如何扫描子进程的 stderr 或 stdout 并在找到字符串时执行操作?

python - 如何将 matplotlib 图形组合成多个子图?

python - 定位并删除 jupyter 笔记本中的隐藏内核

pandas - 使用多索引处理日期索引时遇到问题

python - 如何根据包含特定值的行(在任何列中)过滤数据框

python - 将具有不同键的字典连接到 Pandas 数据框中