【问题标题】:save and retrieve df as .csv without losing type information将 df 保存和检索为 .csv,而不会丢失类型信息
【发布时间】:2018-02-16 03:16:08
【问题描述】:

当我将pandas.DataFrame 保存到.csv 文件时,dicts 的列被转换为文字字符串。如何将 df 保存/加载到 .csv 以使它们等效?我知道pickle、hdf5等;我想让它保持人类可读性,但如果这是错误的树,我愿意接受其他选择......

df = pd.DataFrame.from_items([('A', [1, 2, {3:30}]), ('B', [4, 5, {6:60}])],
 orient='index', columns=['one', 'two', 'three'])

df.to_csv('test.csv', sep='\t')
df_loaded = pd.read_csv('test.csv', sep='\t', index_col=0)
df == df_loaded

"""
output:

    one   two  three
A  True  True  False
B  True  True  False
"""

【问题讨论】:

标签: python pandas csv file-io


【解决方案1】:

试试pandas.DataFrame.to_json():

测试代码:

import pandas as pd
df = pd.DataFrame.from_items(
    [('A', [1, 2, {3: 30}]), ('B', [4, 5, {6: 60}])],
    orient='index', columns=['one', 'two', 'three'])

df.to_json('test.csv')
print(pd.read_json('test.csv'))

结果:

   one      three  two
A    1  {'3': 30}    2
B    4  {'6': 60}    5

【讨论】:

    猜你喜欢
    • 2015-06-20
    • 2012-03-01
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 2020-05-29
    • 2022-10-20
    • 2015-04-10
    相关资源
    最近更新 更多