第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python 中的 Linux 命令在子文件夾中執(zhí)行

Python 中的 Linux 命令在子文件夾中執(zhí)行

PHP
慕容森 2023-11-09 10:16:12
這是我的文件夾結(jié)構(gòu):ORDERNO'S  YEAR'S  MONTH'S  DATE'S  CSVFILES408------->2010---->01-->21--->1.CSV                           --->2.CSV                      --->22--->1.CSV                           --->2.CSV               ----->02-->21--->1.CSV                           --->2.CSV                      --->22--->1.CSV                           --->2.CSV               ...    ------->201101-->21--->1.CSV                           --->2.CSV                      --->22--->1.CSV                           --->2.CSV               ----->02-->21--->1.CSV                           --->2.CSV                      --->22--->1.CSV                           --->2.CSV    ------->201201-->21--->1.CSV                           --->2.CSV                      --->22--->1.CSV                           --->2.CSV               ----->02-->21--->1.CSV                           --->2.CSV                      --->22--->1.CSV                           --->2.CSV               ...    ------->2013--01-->21--->1.CSV                           --->2.CSV                      --->22--->1.CSV                           --->2.CSV               ----->02-->21--->1.CSV                           --->2.CSV                      --->22--->1.CSV                           --->2.CSV               ...因?yàn)樗鼈冊(cè)谔囟ㄈ掌趦?nèi)有許多 csv 文件。我想將每個(gè)日期文件夾內(nèi)的所有 csv 文件與第一個(gè)文件的標(biāo)題合并到一個(gè)文件中,名稱(chēng)為 orderno_year_month_date.csv。意味著每個(gè)日期文件夾將只有一個(gè)以其父文件夾命名的 csv。所以,我想要在 linux 中執(zhí)行此命令,我可以在 ORDERNO 目錄之外運(yùn)行或使用 python 腳本執(zhí)行相同的命令,這樣我就不必再去一次再次進(jìn)入文件夾并手動(dòng)執(zhí)行命令。**同樣的問(wèn)題3個(gè)月前在askubuntu上發(fā)布過(guò),但沒(méi)有答案。預(yù)期的結(jié)構(gòu)應(yīng)該是這樣的ORDERNO'S  YEAR'S  MONTH'S  DATE'S  CSVFILES408------->2010---->01-->21--->408_2010_01_21.CSV                      --->22--->408_2010_01_22.CSV                      ...以前,我要轉(zhuǎn)到每個(gè)訂單號(hào)的每年文件夾的每個(gè)日期文件夾。并用于為標(biāo)頭的單個(gè)文件運(yùn)行此命令。awk '(NR == 1) || (FNR > 1)' *.csv > 4011_2020_07_16.csv  (example)
查看完整描述

1 回答

?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

我將使用這個(gè)模擬文件結(jié)構(gòu)(使用tree命令繪制,并保存~/test/在我的計(jì)算機(jī)中):


test

└── 408

    └── 2010

        └── 01

            ├── 21

            │   ├── 1.csv

            │   └── 2.csv

            ├── 22

            │   ├── 1.csv

            │   └── 2.csv

            └── 23

                ├── 1.csv

                └── 2.csv

您可以使用 Python 重命名文件,并使用以下命令pathlib將它們連接起來(lái)pandas:


import pandas as pd


from pathlib import Path


def getfolders(files):

    return sorted(list(set([file.parent for file in files])))


def getpathproperty(folder, prop):

    properties = {"orderno": 3, "year": 2, "month": 1, "day": 0}

    for i in range(properties[prop]):

        folder = folder.parent

    return folder.stem


path = Path("~/test").expanduser()

allfiles = list(path.rglob("*.csv")) # Each file in allfiles is a Path object


folders = getfolders(allfiles)


for folder in folders:

    files = sorted(list(folder.glob("*.csv")))

    df = pd.concat([pd.read_csv(file) for file in files])


    # Get the values from the path to rename the files

    orderno = getpathproperty(folder, "orderno")

    year = getpathproperty(folder, "year")

    month = getpathproperty(folder, "month")

    day = getpathproperty(folder, "day")


    # Save the new CSV file

    df.to_csv(folder/f"{orderno}_{year}_{month}_{day}.csv", index=False)


    # Delete old files, commented for safety

    # for file in files:

        # file.unlink(missing_ok=True)

這產(chǎn)生:


test

└── 408

    └── 2010

        └── 01

            ├── 21

            │   └── 408_2010_01_21.csv

            ├── 22

            │   └── 408_2010_01_22.csv

            └── 23

                └── 408_2010_01_23.csv


查看完整回答
反對(duì) 回復(fù) 2023-11-09
  • 1 回答
  • 0 關(guān)注
  • 185 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)