gpt4 book ai didi

python - pandas 在 to_csv 中转义回车

转载 作者:太空狗 更新时间:2023-10-29 21:36:43 25 4
gpt4 key购买 nike

我有一个字符串列,有时在字符串中有回车符:

import pandas as pd
from io import StringIO

datastring = StringIO("""\
country metric 2011 2012
USA GDP 7 4
USA Pop. 2 3
GB GDP 8 7
""")
df = pd.read_table(datastring, sep='\s\s+')
df.metric = df.metric + '\r' # append carriage return

print(df)
country metric 2011 2012
0 USA GDP\r 7 4
1 USA Pop.\r 2 3
2 GB GDP\r 8 7

写入和读取 csv 时,数据帧会损坏:

df.to_csv('data.csv', index=None)

print(pd.read_csv('data.csv'))
country metric 2011 2012
0 USA GDP NaN NaN
1 NaN 7 4 NaN
2 USA Pop. NaN NaN
3 NaN 2 3 NaN
4 GB GDP NaN NaN
5 NaN 8 7 NaN

问题

解决此问题的最佳方法是什么?一个明显的方法是先清理数据:

df.metric = df.metric.str.replace('\r', '')

最佳答案

指定line_terminator:

print(pd.read_csv('data.csv', line_terminator='\n'))

country metric 2011 2012
0 USA GDP\r 7 4
1 USA Pop.\r 2 3
2 GB GDP\r 8 7

更新:

在更新的 pandas 版本中(原始答案来自 2015 年),参数的名称更改为 lineterminator

关于python - pandas 在 to_csv 中转义回车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34550120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com