转换为 csv 时仅从 xls 的第一行删除 \n 字符 Python pandas

Viv*_*Viv 2 python csv excel dataframe pandas

Excel 的第一行包含每个单元格中带有 \n 字符的单词。例如:

月份 “中东北部\n(NSA)” “中东北部\n(SA)” “中东南部\n(NSA)”

因此,在使用以下代码转换为 csv 时:

data_xls = pd.read_excel('/home/scripts/usless/HP_PO_hist.xls', 'sheet1', index_col=4,skiprows=3)
data_xls.to_csv('HH_PO_output.csv', encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

它将 \n 之后的字符转换为新行,例如:

,月,“中东北部
(国家安全局)”,“中东北部
(SA)","中东南部
(美国国家安全局)”,“中东南部

但预期的输出是这样的:

月份 中东北部 (NSA) 中东北部 (SA) 中东南部 (NSA) 中东南部 (SA)

在 Python df 中转换为 csv 时,如何仅从此索引行中删除此 \n 字符?

pan*_*sen 5

我使用了以下虚拟数据框:

import pandas as pd

columns=["Month", "East North Central\n(NSA)", "East North Central\n(SA)", "East South Central\n(NSA)"]
df = pd.DataFrame(columns=columns)
Run Code Online (Sandbox Code Playgroud)

通过导出到 csv 时,df.to_csv我得到相同的换行行为(pandas 0.19.2):

,Month,"East North Central
(NSA)","East North Central
(SA)","East South Central
(NSA)"
Run Code Online (Sandbox Code Playgroud)

一种解决方案是简单地将 替换\n为空格,如下所示:

df.columns = df.columns.str.replace("\n", " ")
Run Code Online (Sandbox Code Playgroud)

这提供了所需的结果:

,Month,East North Central (NSA),East North Central (SA),East SouthCentral (NSA)
Run Code Online (Sandbox Code Playgroud)