我有一个文本文件,其中包含类似这样的数据,格式为列表,其中第一个元素是一个字符串,包含用'分隔的列名;',接下来的元素是值行:
['Timestamp;T;Pressure [bar];Input line pressure [bar];Speed [rpm];Angular Position [degree];Wheel speed [rpm];Wheel angular position [degree];',
';1;5,281;5,303;219,727;10,283;216,363;45;',
';1;5,273;5,277;219,727;11,602;216,363;45;',
';1;5,288;5,293;205,078;12,832;216,363;45;',
';1;5,316;5,297;219,727;14,15;216,363;45;',
';1;5,314;5,307;219,727;15,469;216,363;45;',
';1;5,288;5,3;219,727;16,787;216,363;45;',
';1;5,318000000000001;5,31;219,727;18,105;216,363;45;',
';1;5,304;5,3;219,727;19,424;216,388;56,25;',
';1;5,291;5,29;219,947;20,742;216,388;56,25;',
';1;5,316;5,297;219,507;22,061;216,388;56,25;']
我怎样才能把这个文本列表转换成Pandas Dataframe 呢?
6条答案
按热度按时间piztneat1#
使用
pd.read_csv
(从文本文件读取 Dataframe )和pd.compat.StringIO
(从文本生成流),如io.StingIO
:njthzxwz2#
代码:
输出:
lnxxn5zx3#
您可以使用函数
from_records()
拆分输入列表中的每个字符串项,并注意数据的第一行包含列标签这一事实mftmpeh84#
基于@Nihal解决方案的较短基础
2nbm6dog5#
如果只有逗号分隔值作为模型的输出-您可以使用此转换为Pandas Dataframe (内容是您在streamlit应用程序中的输出)
fnvucqvd6#
首先你可以创建变量
read_file
,用pandas.read_csv()
函数打开它,然后用read_file.to_csv()
函数把它转换成csv文件,再用pd.read_csv()
打开 Dataframe 。我相信相同/相似问题的答案可以在这里找到:Load data from txt with pandas