我對 Python 比較陌生,并試圖在業余時間學習這一點。我正在處理的任務的目標是讀取系統目錄并將檔案名添加到字典中。我能夠將它添加到串列中,但我需要一個可以在 for 回圈中使用的整數鍵。所以在做了一些閱讀之后,我想如果我可以遍歷這個目錄并添加一個計數器作為鍵和檔案名作為值,這會給我我想要的東西。這是我到目前為止所嘗試的,如果我想錯了,請告訴我。此外,如果我沒有足夠清楚地解釋這一點,我很樂意嘗試提供更多資訊。蒂亞!
import os
def list_json_files():
path_of_directory = 'C:\\JSON_Test\\json_files'
list_of_files = {}
ext = ('.json')
for my_files in os.listdir(path_of_directory):
if my_files.endswith(ext):
# stuck and missing code
else:
continue
return list_of_files
list_json_files()
## added to code
def write_csv():
list_of_files = list_json_files()
for my_file in list_of_files:
row = create_list_from_json(f'json_files/{my_file}')
with open('output.csv', 'a') as c:
writer = csv.writer(c)
writer.writerow(row)
uj5u.com熱心網友回復:
如果您的目標是讀取以 .json 結尾的檔案串列并將其寫入檔案,您可以試試這個。
與原始代碼的更改
- 使用 glob,代碼更容易獲取以特定擴展名結尾的檔案。因此使用 glob 而不是 os.listdir
- 使用普通檔案撰寫器,而不是 csv 模塊,因為我覺得這對于這種情況就足夠了。
代碼
import glob
import os.path
def list_json_files():
path_of_directory = 'C:\\JSON_Test\\json_files'
ext = ('*.json')
list_of_files = glob.glob(os.path.join(path_of_directory, ext))
return list_of_files
def write_csv():
list_of_files = list_json_files()
with open('output.csv', 'a') as myfile:
myfile.write('\n'.join(list_of_files))
write_csv()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/434465.html
上一篇:將字典轉換并寫入YAML格式
下一篇:比較嵌套字典之間的鍵值
