为什么我不能替换Pandas数据框中的换行符?

2024-06-08 17:29:57 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码说明了我在读取Excel文件和删除不必要的换行符时遇到的问题。如何删除第二本书名中的换行符

来自Books.xlsx的数据

BookID,Title,Author
1,"I, Robot",Rob
2,Robots
and me,Rob
3,I made a robot,Rob
4,Robotics for dummies,Rob
# pandas version is 1.2.0
import pandas

def fromxl():
    master_tracker = "data_in\\books.xlsx"
    
    df = pandas.read_excel(master_tracker, "Sheet1", header=0)

    # doesn't work
    # df.replace('\n', ' ')

    # doesn't work
    # for r in df.iterrows():
    #     r[1][1] = r[1][1].replace('\n', ' ')

    print(df)

编辑 为了澄清,这里是我打印数据框时得到的结果

   BookID                 Title Author
0       1              I, Robot    Rob
1       2        Robots\nand me    Rob
2       3        I made a robot    Rob
3       4  Robotics for dummies    Rob

Tags: 数据pandasdffortitlerobotxlsxauthor
2条回答

试试这个: df['Title'] = df['Title'].str.replace("\n"," ")

这将在每一行中用一个简单的空格替换每一个换行符

如果要为所有列添加: df = df.replace(r'\n',' ', regex=True)

对多个列尝试此操作:

for i in df.select_dtypes(include='object').columns:    
    df[i]=df[i].str.replace("/n",'')

相关问题 更多 >