我有一个txt文件形式的数据集,看起来像这样:
beer_name: Legbiter
beer_id: 19827
brewery_name: Strangford Lough Brewing Company Ltd
brewery_id: 10093
style: English Pale Ale
abv: 4.8
date: 1357729200
user_name: AgentMunky
user_id: agentmunky.409755
appearance: 4.0
aroma: 3.75
palate: 3.5
taste: 3.5
overall: 3.75
rating: 3.64
text: Poured from a 12 ounce bottle into a pilsner glass.A: A finger of creamy head with clear-dark amber body.S: Rich brown sugar. Malty...T: Slight sugars, dry malt, vague hops. Big malty-brown with sugar.M: Dry and slightly astringent before a boring endtaste.O: Solid beer. Drinkable and interesting. Still vaguely bland.
review: True
字符串
我正在使用下面的函数来尝试将其转换为正确的df(之后进行了更多的处理,但这就是它抛出错误的地方):
rb_file_data = pd.read_csv(os.path.join(MATCHED_BEER_DIR, 'ratings_with_text_rb.txt'), sep=":", header=None, names=["Key", "Value"])
型
我遇到的问题是,一些评论在文本部分使用“:“(我特意选择了一个包含一些),这会引发以下错误:
ParserError: Error tokenizing data. C error: Expected 2 fields in line 34, saw 7
型
如果需要的话,我有足够的数据来摆脱整个评论,但如果可能的话,我很乐意保留它。
有没有一种方法可以只在分隔符第一次出现在一行中时使用它?
3条答案
按热度按时间zpqajqem1#
类似于https://stackoverflow.com/a/54504598/17142551。您可以使用:用途:
字符串
gzjq41n42#
你可以试试下面的代码
字符串
6rvt4ljy3#
你可以试试这个:
字符串
如果你有17个条目的块(* 这是最有可能的情况 *),你可以用途:
型
输出量:
型