熊猫数据框列和行中的拆分列表
Posted
技术标签:
【中文标题】熊猫数据框列和行中的拆分列表【英文标题】:Split list in panda dataframe columns and rows 【发布时间】:2021-02-26 18:58:16 【问题描述】:我为一个网站写了一个小爬虫,得到了一个如下结构的列表:
'DRAFT ACT: OPEN\nSome Information \nTopic\nJustice\nType\nImplementing\nPeriod\n12.11.2020 - 10.12.2020', 'DRAFT ACT: OPEN\Some other Information\nTopic\nJustice\nType\nImplementing\nPeriod\n12.11.2020 - 10.12.2020,...
现在我想将此文本列表分成一个 pandas 数据框,将列按\n
划分,将行按,
划分。不幸的是,我不知道如何接近他。有人可以帮我吗?有没有一种简单的方法可以使用 pandas 或其他包来拆分此列表?
结果应该是这样的:
Column1 Column2 Column3 Column4 Column5 Columns6 Column7 Column8
Row1 DRAFT ACT: OPEN Some Information Topic Justice Type Implementing Period 12.11.2020 - 10.12.2020'
Row2 DRAFT ACT: OPEN Some other Information Topic Justice Type Implementing Period 12.11.2020 - 10.12.2020'
非常感谢您!
【问题讨论】:
【参考方案1】:import pandas as pd
x = "'DRAFT ACT: OPEN\nSome Information \nTopic\nJustice\nType\nImplementing\nPeriod\n12.11.2020 - 10.12.2020', 'DRAFT ACT: OPEN\nSome other Information\nTopic\nJustice\nType\nImplementing\nPeriod\n12.11.2020 - 10.12.2020'"
x = x.replace("\n","_")
x = x.replace(",","\n")
x = x.replace("_",",")
with open("output.csv", 'w') as file:
file.write(x)
with open('output.csv','r') as file:
z = pd.read_csv(file)
print(z, type(z))
【讨论】:
【参考方案2】:假设你得到一个这样的字符串列表。
list1=['DRAFT ACT: OPEN\nSome Information \nTopic\nJustice\nType\nImplementing\nPeriod\n12.11.2020 - 10.12.2020', 'DRAFT ACT: OPEN\nSome other Information\nTopic\nJustice\nType\nImplementing\nPeriod\n12.11.2020 - 10.12.2020']
您可以迭代列表并在 \n
上拆分每个项目喜欢:
list1=[x.split('\n') for x in list1]
或喜欢:
for idx,item in enumerate(list1):
list1[idx]=item.split('\n')
现在您可以使用 list1 创建一个数据框。
import pandas as pd
df=pd.DataFrame(list1,columns=['Column1','Column2','Column3','Column4','Column5','Column6','Column7','Column8'])
【讨论】:
以上是关于熊猫数据框列和行中的拆分列表的主要内容,如果未能解决你的问题,请参考以下文章