簡體   English   中英

通過文件夾中的多個文本文件運行代碼塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM