如何将文本文件中的原始数据加载到熊猫数据框中?
Posted
技术标签:
【中文标题】如何将文本文件中的原始数据加载到熊猫数据框中?【英文标题】:how to load raw data in a text file in to pandas dataframe? 【发布时间】:2018-05-11 06:13:58 【问题描述】:我的数据在一个文本文件中,格式如下:
标题1:废话
标题2:废话
heading3:blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah(文本为该行的标题3输入新行)
标题1:废话
heading2:blah
heading3:blah blah blah blah blah blah blah blah blah
等等……
注意:
heading3 数据转到下一行。 这是数据集的 Zip 文件 link【问题讨论】:
标题3数据可以进入下一行 需要更好地了解输入数据的外观,除非您实际上是在加载包含一堆“废话”字符串的文本文件。例如你能在值上使用字符串split
方法将它们变成列表吗?
您好,数据为here 压缩文件。
【参考方案1】:
感谢您发布数据链接。如果它是公开的,那么最初这样做会很有帮助。我在完整的数据集上运行它;在一台像样的笔记本电脑上花了几秒钟。
import numpy as np
import pandas as pd
with open('rfa_all.NL-SEPARATED.txt', 'r') as f:
data = f.readlines()
# create a dictionary with keys and lists.
# if you don't set the values as lists, you get an error.
d = 'SRC': [], 'TGT': [], 'VOT': [], 'RES': [], 'YEA': [], 'DAT': [], 'TXT': []
for line in data: # go through file line by line
if line != '\n': # skip new line characters
line = line.replace('\n', '') # get rid of '\n' in all fields
key, val = line.split(':', 1) # take the first 2 tokens from the split statement
d[key].append(val)
df = pd.DataFrame(d)
df
这篇文章的广泛帮助:https://***.com/a/26644245/6672746
我确信有一种更快的方法来设置它,但我认为这会奏效。
【讨论】:
实际文件中的格式与您的示例中的格式有很大不同,因此它破坏了 split(':') 语句。稍后我会尝试再看看。以上是关于如何将文本文件中的原始数据加载到熊猫数据框中?的主要内容,如果未能解决你的问题,请参考以下文章