Каждый месяц я загружаю аналитику в твиттере для некоторых ручек, связанных с работой, за которые я отвечаю.
Я выполняю некоторую массивацию данных в powershell (меняя нули на числовые столбцы), чтобы мой Power Excel Query мог легко работать с данными.
Я решил, что хочу скопировать хештеги из столбца Tweet Text в их собственный столбец для некоторого исследования их работы.
Весь мой сценарий:
Remove-Item -path .\merged\merged.csv
$InputFiles = Get-Item "*.csv"
$OldString = '"-"'
$NewString = '""'
$InputFiles | ForEach {
(Get-Content -Path $_.FullName).Replace($OldString,$NewString) | Set-Content -Path $_.FullName
}
Get-ChildItem -Filter *.csv | Select-Object -ExpandProperty FullName | Import-Csv | Export-Csv .\merged\merged.csv -NoTypeInformation -Append
Поскольку я понимаю, что мне, возможно, придется делать несколько месяцев одновременно, я решил просто повторять объединенный файл каждый месяц.
Я смотрю на то, что мне нужно добавить, чтобы вытащить хэштеги, и я почти уверен, что на правильном пути:
Import-Csv .\merged\merged.csv | Select-Object *,@{Name='hashtags';Expression={'XYZZY'}} | Export-Csv file.csv -NoTypeInformation
Конечно, проблема в том, что я не уверен, что мне нужно положить в XYZZY. Я знаю, что моим регулярным выражением является # [a-zA-Z0-9] (у меня были проблемы с получением # \ w для захвата чего-либо, кроме первой буквы хэштега, в некоторых из моих предыдущих попыток.
«Tweet text» - это имя столбца.
Количество твитов варьируется от 0 до 6 хэштегов. Одна проблема, которую я вижу, состоит в том, что каждая опция соответствия регулярному выражению, похоже, возвращает элементы в объекте, где я надеюсь просто добавить их в виде списка с разделителями пробелами в этом последнем поле.
Вопросы, которые могут появиться у меня:
Почему бы не сделать это в Excel?
Хороший вопрос. Первоначально я хотел добавить его в импорт Power Power запросов, но на самом деле это не представляется возможным. Хотя я мог бы делать это в VBA, я бы предпочел, чтобы это можно было использовать в качестве решения.
Почему бы не сделать это в Python?
У меня действительно есть решение, в основном выполненное, но я бы хотел, чтобы это было простым процессом.
Какие заголовки?
"Tweet id", "Tweet permalink", "Tweet text", "time", "впечатления", "engings", "уровень участия", "retweets", "ответы", "лайки", "клики профиля пользователя", "клики по URL", "клики по хэштегам", "детали разворачиваются", "клики с постоянными ссылками", "приложение открывается", "приложение устанавливает", "следует", "твит электронной почты", "наберите телефон", "просмотр мультимедиа", " взаимодействия со СМИ "," продвинутые показы "," продвинутые показы "," повышенный уровень вовлеченности "," продвинутые ретвиты "," повышенные ответы "," повышенные лайки "," повышенные клики по профилю пользователя "," повышенные клики по URL "," повышенные клики по хештегу "," продвигаемые детали расширяются "," продвигаемые постоянные клики "," продвигаемые приложения открываются "," продвигаемые приложения устанавливаются "," продвигаемые подписки "," рекламируемые твиты по электронной почте "," продвигаемые телефонные звонки "," продвигаемые просмотры мультимедиа " , "продвигаемая работа со СМИ"
Как насчет примеров твитов?
Ну, я имею в виду, они твиты. Вот несколько примеров:
This is a tweet with zero hashtags.
@somename this is a reply with #one hashtag.
This is a tweet with two #hashtags, one that has #punctuation attached.