我正在撰寫一個腳本,它應該檢查兩個目錄,一個源和一個目標,然后自動將所有新檔案夾從源目錄復制到目標目錄,然后將復制到的檔案夾的名稱復制到文本檔案或 .csv 檔案,將來會檢查以避免重復,因為目標目錄中的檔案夾將被重命名。
我假設 .csv 檔案在存盤大量單獨的小字串方面優于文本檔案,但在 python 的 csv 模塊中,似乎只有一種將可迭代物件寫入檔案的方法。我一次只會每行寫一個字串。將這個字串存盤在串列中是否比使用 csv.writerow 更有意義,或者有更好的方法嗎?
謝謝
uj5u.com熱心網友回復:
在 python 中,CSV 撰寫器會將單個串列中的每個值寫為一行。最好的方法是將所有專案存盤在串列串列中。例如
rows = [ ['Nikhil', 'COE', '2', '9.0'],
['Sanchit', 'COE', '2', '9.1'],
['Aditya', 'IT', '2', '9.3'],
['Sagar', 'SE', '1', '9.5'],
['Prateek', 'MCE', '3', '7.8'],
['Sahil', 'EP', '2', '9.1']]
此處的每個串列將是 csv 中的單獨一行。
另一種方法是,如果您打算將所有內容都設為單個字串,則使用換行符分隔每一行。
例如:
rows = "value1,value2,value3\n newRow1,newRow2,newRow3"
無論哪種方式都會奏效。
我參考了這個頁面的例子:
https://www.geeksforgeeks.org/working-csv-files-python/
uj5u.com熱心網友回復:
有不同的編程語言,例如 Python、Java 和 C#,用于處理地理空間資料的大檔案。但是在 Python 中撰寫 CSV 檔案的最佳方式是因為您可以在一秒或一分鐘內輕松提取數百萬行,并且您可以讀取、寫入或通過 Python 編程執行許多操作。
但是,如果您不是程式員,那么您可以借助任何應用軟體,例如EmEditor或任何軟體。
<---如何在應用軟體上撰寫---> CSV 編輯器
打開 CSV 編輯器。從查詢工具選單打開編輯器。
過濾和排序資料。從列彈出選單中,您可以設定過濾器或對資料進行排序。
編輯資料。雙擊任何單元格以編輯其內容。
保存格式。使用“檔案/另存為”將編輯后的 ??CSV 保存在給定的檔案和格式下。
uj5u.com熱心網友回復:
你可以試試這樣的
import pandas as pd
import os
import shutil
base_path = "C:/Users/Dell/Desktop/"
from_folders = ["New folder (2)/", "New folder/"]
to_folder = "Target/"
from_paths = list(map(lambda folder_name:base_path folder_name, from_folders))
files_list = list(map(lambda path:[path p for p in os.listdir(path)], from_paths))
target_path = base_path to_folder
[list(map(lambda path:shutil.copy(path, target_path), paths)) for paths in files_list]
pd.DataFrame(from_paths, columns = ["From Paths"]).to_csv(f"{base_path}From Paths.csv")
base_path我認為如果您只是更改,from_folders和to_folder根據您的需要,代碼會正常作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/483067.html
