[英]Running a block of code through multiple text files in a folder
我是python的新手。 我的文件夾中有1000個文件,我想對該文件夾中的所有文件運行一個代碼塊。 該文件包含文本內容(tweets),我想刪除“ https”並刪除除tweet content列之外的所有列(例如,時間戳,文章ID等)。非常感謝您的幫助。
這些列是ARTICLE_ID HEADLINE作者內容ARTICLE_URL MEDIA_PROVIDER。 我對變量的興趣只是“內容”列
例如
成功的后院燒烤的關鍵是什么? 注入紙杯蛋糕。 RT,如果他們看起來好吃! HTTP:// ....
我希望它看起來像
成功的后院燒烤的關鍵是什么? 注入紙杯蛋糕。 RT,如果他們看起來好吃!
據我所知,您想要1)讀取目錄中所有文件的內容,2)更改該內容的本地副本,3)將結果寫入其他位置:
1)正如@FlyingTeller指出的那樣,該問題已經存在許多好的答案 。 簡而言之:
import os
tweet_dir = 'some/location/on/your/pc'
for file_name in os.listdir(tweet_dir):
with open(os.path.join(tweet_dir, file_name)) tweet_file:
tweet = tweet_file.readlines()
# now we can modify the content we copied into 'tweet'
2)如果您想知道如何在python中修改字符串,請查看string的文檔以及regex 。 在循環中,可以通過以下方式刪除所有看起來像http地址的內容 (但這僅是因為tweet對消息中鏈接的位置具有非常嚴格的格式):
tweet = tweet.split('http://')[0]
3)與其他觀點一樣, “如何在python中寫入文件”的好答案已經存在。 簡而言之,一旦您按照自己的方式修改了推文,就可以在內部循環中執行此操作:
# create a directory called 'changed' within the original one by hand, and then:
with open(os.path.join(tweet_dir, 'changed', file_name), 'w') as new_tweet_file:
new_tweet_file.write(tweet)
完成。
如果您可以將一般問題分解為一口大小的障礙,那么您可以更好地在StackOverflow上找到解決方案,或者甚至更好地自己找出解決方案=)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.