将大型数据集组织成单独的行
Organise large dataset into separate lines
我有一个大型原始数据集,我想将其组织成单独的行。数据被分隔。我想组织起来,一行中有 8 个分隔符,后跟一个位置,然后是新行。
原始数据:
468|2016-06-17||移动|响应|运动|sport.football.england||伦敦 468|2016-06-16||移动|响应|运动|sport.football.european||约克郡和亨伯河 468|2016-06-18||移动|响应|运动|sport.football.england||伦敦
期望的输出:
468|2016-06-17||移动|响应|运动|sport.football.england||伦敦
468|2016-06-16||移动|响应|运动|sport.football.european||约克郡和亨伯
468|2016-06-18||移动|响应|运动|sport.football.england||伦敦
在 akash karothiya 的帮助下,我现在有了这个
data = open("raw_data.txt", "r")
new = []
for i in data.read().split(' '):
if '|' in i:
new.append(i)
else:
new.append(str(new[-1]) + ' ' + i )
new.remove(new[-2])
print(new)
但这会导致打印 \n 而不是换行,为什么?在此示例中,Yorkshire 和 Humber 应位于一行的末尾:
['468|2016-06-17||移动|响应式|运动|sport.football.international.england.story.36558237.page||london\n468|2016-07-03||移动| responsive|sport|sport.football.european_championship.2016.media_asset.36695497.page||London\n06b|2016-06-21||Computer|responsive|news|news.page|news |约克郡和', 'humber\n468|2016-06-18||Mobile|responsive|sport|sport.football.international.england.story.36558237.page||london']
你可以试试这个:
data = '''468|2016-06-17||Mobile|responsive|sport|sport.football.england||london 468|2016-06-16||Mobile|responsive|sport|sport.football.european||west midlands 468|2016-06-17||Mobile|responsive|sport|sport.football.england||india'''
new = []
for i in data.split(' '):
if '|' in i:
new.append(i)
else:
new.append(str(new[-1]) + ' ' + i )
new.remove(new[-2])
print(new)
['468|2016-06-17||Mobile|responsive|sport|sport.football.england||london',
'468|2016-06-16||Mobile|responsive|sport|sport.football.european||west midlands',
'468|2016-06-17||Mobile|responsive|sport|sport.football.england||india']
我有一个大型原始数据集,我想将其组织成单独的行。数据被分隔。我想组织起来,一行中有 8 个分隔符,后跟一个位置,然后是新行。
原始数据:
468|2016-06-17||移动|响应|运动|sport.football.england||伦敦 468|2016-06-16||移动|响应|运动|sport.football.european||约克郡和亨伯河 468|2016-06-18||移动|响应|运动|sport.football.england||伦敦
期望的输出:
468|2016-06-17||移动|响应|运动|sport.football.england||伦敦
468|2016-06-16||移动|响应|运动|sport.football.european||约克郡和亨伯
468|2016-06-18||移动|响应|运动|sport.football.england||伦敦
在 akash karothiya 的帮助下,我现在有了这个
data = open("raw_data.txt", "r")
new = []
for i in data.read().split(' '):
if '|' in i:
new.append(i)
else:
new.append(str(new[-1]) + ' ' + i )
new.remove(new[-2])
print(new)
但这会导致打印 \n 而不是换行,为什么?在此示例中,Yorkshire 和 Humber 应位于一行的末尾:
['468|2016-06-17||移动|响应式|运动|sport.football.international.england.story.36558237.page||london\n468|2016-07-03||移动| responsive|sport|sport.football.european_championship.2016.media_asset.36695497.page||London\n06b|2016-06-21||Computer|responsive|news|news.page|news |约克郡和', 'humber\n468|2016-06-18||Mobile|responsive|sport|sport.football.international.england.story.36558237.page||london']
你可以试试这个:
data = '''468|2016-06-17||Mobile|responsive|sport|sport.football.england||london 468|2016-06-16||Mobile|responsive|sport|sport.football.european||west midlands 468|2016-06-17||Mobile|responsive|sport|sport.football.england||india'''
new = []
for i in data.split(' '):
if '|' in i:
new.append(i)
else:
new.append(str(new[-1]) + ' ' + i )
new.remove(new[-2])
print(new)
['468|2016-06-17||Mobile|responsive|sport|sport.football.england||london',
'468|2016-06-16||Mobile|responsive|sport|sport.football.european||west midlands',
'468|2016-06-17||Mobile|responsive|sport|sport.football.england||india']