gpt4 book ai didi

Python读取带有换行符和段落分隔元素的文本文件

转载 作者:行者123 更新时间:2023-12-01 00:11:43 30 4
gpt4 key购买 nike

我正在尝试将文本文件读取到 Python 中的嵌套列表中。也就是说,我希望输出为:

[[$5.79, Breyers Ice Cream, Homemade Vanilla, 48 oz], [$6.39, Haagen-dazs, Vanilla Bean Ice Cream, 1 pt], etc...]]

最终目标是将信息读入 pandas DataFrame 中以进行一些探索性分析。

数据(在 .txt 文件中)

$5.79  
Breyers Ice Cream
Homemade Vanilla
48 oz

$6.39
Haagen-dazs
Vanilla Bean Ice Cream
1 pt

$6.89
So Delicious
Dairy Free Coconutmilk No Sugar Added Dipped Vanilla Bars
4 x 2.3 oz

$5.79
Popsicle Fruit Pops Mango
12 ct

我尝试过的

with open(sample.txt) as f:
creams = f.read()


creams = f.split("\n\n")

但是,这会返回:

['$5.79\nBreyers Ice Cream\nHomemade Vanilla\n48 oz', '$6.39\nHaagen-dazs\nVanilla Bean Ice Cream\n1 pt',

我还尝试使用看起来比上面的代码更干净的列表理解方法,但这些尝试处理换行符,而不是段落或返回。例如:

[x for x in open('<file_name>.txt').read().splitlines()]  
#Gives
['$5.79', 'Breyers Ice Cream', 'Homemade Vanilla', '48 oz', '', '$6.39', 'Haagen-dazs', 'Vanilla Bean Ice Cream', '1 pt', '', '

我知道我需要在列表理解中嵌套一个列表,但我不确定如何执行拆分。

注意:这是我第一个发布的问题,对于篇幅或不够简洁表示抱歉。寻求帮助,因为有类似的问题,但不是我想要的结果。

最佳答案

一旦您将四行组分开,您就快到了。剩下的就是用一个换行符再次分割组。

with open('creams.txt','r') as f:
creams = f.read()

creams = creams.split("\n\n")
creams = [lines.split('\n') for lines in creams]
print(creams)

关于Python读取带有换行符和段落分隔元素的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59594245/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com