在Python中将txt数据拆分为列

我有一个以下格式的 .txt 数据集:


01/01/2018 ['cat', 'bear', 'ant']

01/02/2018 ['horse', 'wolf', 'elephant']

01/03/2018 ['parrot', 'bird', 'fish]

我想使用 PYTHON 并将其设置为以下格式的 2 列:


  'Date'       'Animal'


01/01/2018       cat

01/01/2018       bear   

01/01/2018       ant

01/02/2018       horse

01/02/2018       wolf

01/02/2018       elephant

01/03/2018       parrot

01/03/2018       bird

01/03/2018       fish

(txt 文件实际上更长,但为了更好地理解而进行了简化)。我不知道如何继续:read_csv或open(但随后它会像对象一样读取它)?我应该设置分隔符吗?我尝试了几件事,但没有任何作用。


提前致谢


萧十郎
浏览 175回答 1
1回答

郎朗坤

使用 pandas 创建表:import astimport pandas as pddates = []animals = []lines = []# Read file lineswith open('file.txt', 'r') as f:    lines = f.readlines()for l in lines:    # Spliting date and animals    date_string, animals_string = l.split(' ', maxsplit=1)    # Safely evaluate animals list    animals_list = ast.literal_eval(animals_string)    # Duplicate date the amount of animals in that date    dates.extend([date_string] * len(animals_list))    # Append animals    animals.extend(animals_list)# Create dataframe for the dates and animalsdf = pd.DataFrame({'Date': dates, 'Animal': animals})# Print the dataframeprint(df)输出:         Date    Animal0  01/01/2018       cat1  01/01/2018      bear2  01/01/2018       ant3  01/02/2018     horse4  01/02/2018      wolf5  01/02/2018  elephant6  01/03/2018    parrot7  01/03/2018      bird8  01/03/2018      fish
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python