【问题标题】:Convert a single string formatted as a csv file into a pandas dataframe将格式化为 csv 文件的单个字符串转换为 pandas 数据框
【发布时间】:2016-06-01 14:53:00
【问题描述】:

我有一个非常长的单个 python 字符串,它被格式化为 csv 文件。缩短版如下所示。

"1,1,6;3,6,2;3,3,1;"

我怎样才能把它变成一个熊猫数据框?

【问题讨论】:

  • 您期望什么样的数据框?什么是分隔符 - 逗号或分号?
  • 每一行的分隔符是;并且该行中每个项目的分隔符是 ,
  • pd.DataFrame.from_records(csv.reader("1,1,6;3,6,2;3,3,1;".split(";")))

标签: python csv pandas dataframe


【解决方案1】:

更新: - 使用lineterminator 参数使其非常简单:

In [77]: pd.read_csv(io.StringIO('1,1,6;3,6,2;3,3,1;'), lineterminator=';', header=None)
Out[77]:
   0  1  2
0  1  1  6
1  3  6  2
2  3  3  1

旧答案:

import io
import pandas as pd

df = pd.read_csv(io.StringIO('\n'.join("1,1,6;3,6,2;3,3,1;".split(';'))), header=None)

print(df)

输出:

   0  1  2
0  1  1  6
1  3  6  2
2  3  3  1

【讨论】:

  • 非常感谢。很有魅力!
猜你喜欢
  • 2019-08-19
  • 2013-01-08
  • 2014-06-07
  • 2020-06-10
  • 2019-06-14
  • 2021-11-09
  • 1970-01-01
  • 2017-05-23
相关资源
最近更新 更多