Как исправить представление моих данных
Я хотел объединить все три строки в текстовом файле и сделать его одной строкой. Это сработало, однако я получаю все новые строки в абзаце форума, а не в списке, как в строке за строкой. Я хотел это изменить:
T 2009-06-26 16:20:35 U http://twitter.com/mujiang W No Post Title
чтобы это выглядело так:
2009-06-26 16:20:35 http://twitter.com/mujiang No Post Title
Я обнаружил, что единственный способ сделать это-записать выходные данные в отдельный файл. это невозможно, но это единственный способ, который я знаю.
Я написал этот код:
with open('tweets2009-10.txt', "r") as infile: for line in infile: if 'Apple'in line or 'apple' in line or 'Obama' in line or 'obama' in line: fout = open('newdata.txt', 'w') line_order = {'T': 'U', 'U': 'W', 'W': 'T'} with open('tweets2009-10.txt') as fin: prev_head = None new_line = "" for line in fin: cur_head = line[0] if prev_head is None or cur_head == line_order.get(prev_head): new_line += line.strip()[1:] if cur_head == 'W': new_line += "\n" fout.write(new_line) new_line = "" else: new_line += "," prev_head = cur_head else: pass )
Однако новый файл new.txt... там ничего не написано. Я запустил код в течение 5 минут, и он все еще пуст
Я не знаю, что может быть не так в коде]
Пожалуйста, помогите.
Что я уже пробовал:
изменение метода
Richard MacCutchan
Очевидно, что в вашем файле больше текста, чем в вашем примере. Вам нужно посмотреть на фактическое содержание и отфильтровать строки, которые не нужны.
Member 13647869
Позвольте мне попытаться объяснить дальше. Первоначально файл выглядит следующим образом:
T 2009-06-25 21:15:29
У http://twitter.com/mujiang
Ж Не Заглавный Пост
T 2009-06-26 16:20:35
У http://twitter.com/mujiang
Ж Не Заглавный Пост
T 2009-06-26 21:04:20
У http://twitter.com/mujiang
Ж Не Заглавный Пост
T 2009-06-27 17:50:59
У http://twitter.com/mujiang
Ж Не Заглавный Пост
T 2009-06-27 17:56:09
У http://twitter.com/mujiang
Ж Не Заглавный Пост
T 2009-06-28 00:00:10
У http://twitter.com/mujiang
Ж Не Заглавный Пост
И так далее. Но поскольку мне нужно сделать некоторый анализ настроений в этом файле, и каждые три строки связаны, мне нужно сгруппировать их. так что каждые три линии становятся одной линией
Richard MacCutchan
Но ваш код этого не делает. Это просто объединение каждой строки в одну длинную строку. Вам нужно проверить каждую строку, чтобы увидеть, с какого управляющего символа она начинается, и обработать ее соответствующим образом. Вам также нужно выяснить, откуда берется весь этот дополнительный текст.
Richard MacCutchan
Зачем вам нужны отдельные файлы? Все, что вам нужно сделать, это проверить префиксный символ в каждой строке ввода и начать новую строку, когда вы читаете элемент, начинающийся с буквы "Т".
Member 13647869
но как можно совместить эти линии? я могу использовать .присоединиться?
Richard MacCutchan
Подумайте о том, как бы вы это сделали, если бы читали его с одного листа бумаги и писали на другой в новом формате.
Member 13647869
Извините, я очень запутался в этой теме