python - 将 df 保存和检索为 .csv,而不丢失类型信息

标签 python pandas csv file-io

当我将 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
"""

最佳答案

尝试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

关于python - 将 df 保存和检索为 .csv,而不丢失类型信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48819578/

相关文章:

python - 遍历帐号列中的每一行并使用它们读取其他 Excel 文件

java - 并排打印 csv 中的两个数组

ios - 如何获取iOS项目中项目文件的路径?

python - 导入前安装模块

python - Tensorflow 2.0.0 中的自定义损失

Python:找到一种计算多边形的 "inner centroid"(X,Y)的方法

python - 将数据帧写入 csv 按列

c++ - 如何将 map 传递给py?

python - Python中[]和[[]]的区别

python-3.x - python : pandas apply function: InvalidIndexError