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