我有 38 個.csv檔案,命名Raw_data_unique_1為Raw_data_unique_38,并且都具有相同的列結構。
我想使用我知道的指令閱讀這些檔案pd.read_csv,然后將它們全部附加到1唯一的檔案中,比如data_unique.
所以,我創建了一個索引串列:lst = list(range(1,39))我想我可以運行:
for i in lst:
data_i = pd.read_csv('C:/.../Raw_data_unique_i.csv', sep=',', header=0)
但是我有一個誤解:名稱Raw_data_unique_i.csv不被識別:“ [Errno 2] No such file or directory ”,這意味著沒有為索引分配編號i......
你能解釋一下我做錯了什么嗎?
uj5u.com熱心網友回復:
此操作不需要 Pandas
import shutil
with open('data_unique.csv', 'w') as out:
for i in range(1, 40):
with open(f'Raw_data_unique_{i}.csv') as inp:
shutil.copyfileobj(inp, out)
在這里,我曾經在字串內部f-strings進行評估。i如果您使用 Python < 3.6,請使用str.format方法:
with open('Raw_data_unique_{i}.csv'.format(i=i)) as inp:
uj5u.com熱心網友回復:
您的“i”不是這樣名稱的變數。
也許一個快速的修復會宣告:
folder = 'C:/.../Raw_data_unique_'
format = csv
然后連接
file_name = folder i format
data_i = pd.read_csv(file_name, sep=',', header=0)
但是請記住,如果您需要在回圈迭代期間處理每個 data_i,因為它每次都會被重寫。如果您不希望這樣,您應該查看您擁有的結構并找到一種更好地存盤它的方法。
ps.:如果你只想限制你的 for 迭代:
for i in range(1, 39):
uj5u.com熱心網友回復:
使用 f-stringi在字串內部獲取變數的實際值i:
for i in lst:
data_i = pd.read_csv(f'C:/.../Raw_data_unique_{i}.csv', sep=',', header=0)
注意f字串之前和字串{i}內部。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/443051.html
上一篇:當索引級別具有相同的值時,替換第二級熊貓資料幀多索引上的奇異值
下一篇:按日期范圍分組并檢查重復的熊貓
