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

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

使用python使用文件名信息將一列批量插入到CSV中

使用python使用文件名信息將一列批量插入到CSV中

拉莫斯之舞 2023-05-16 14:57:47
我有 169 個(gè)具有相同結(jié)構(gòu)(90 列具有相同標(biāo)題)和相同命名系統(tǒng)的 CSV 文件。文件名截圖這些文件被命名為:2019-v-12019-v-22019-v-3ETC。對(duì)于每個(gè) CSV,我想添加一列,標(biāo)題為“訪問”,并且該列中的值取自文件名(末尾的數(shù)字,第二個(gè)破折號(hào)之后)。因此,例如,第一個(gè) CSV 將有一個(gè)名為“訪問”的新列,其中每一行在該列中都被賦予值“1”。如果有 Python 解決方案,那就太棒了。我沒有編碼背景,這是我唯一有點(diǎn)熟悉的語言,但我自己似乎無法弄清楚這門語言。任何幫助將不勝感激 - 謝謝!
查看完整描述

2 回答

?
慕雪6442864

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

import pandas as pd

import os


def csv_folder_input(path,folder):

    path = os.path.join(path,folder)

    os.chdir(path)

    counter=1

    for filename in os.listdir(path):

        if filename.endswith(".csv"):

             with open(filename, 'r') as csvfile:

             counter=counter+1

             df = pd.read_csv(csvfile)

             df['Visits']=int(filename.split('_')[2].split('.')[0])

             df.to_csv(filename)

       

csv_folder_input(your path name,your folder name)

輸入您的路徑名,然后輸入您的文件夾名稱。我可以看到你的文件夾名稱是 2019-v。在文件夾前輸入適當(dāng)?shù)穆窂矫?,并確保輸入適用于 MacOS 的正確路徑格式。我相信它應(yīng)該可以正常工作。


查看完整回答
反對(duì) 回復(fù) 2023-05-16
?
侃侃無極

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

首先,您需要一個(gè)文件列表:


from os import listdir

from os.path import isfile, join

import csv       # You'll need this for the next step


mypath = 'path/to/csv/directory'

allfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]

然后你想打開每個(gè)文件,添加列,然后再次保存。


from os import listdir

from os.path import isfile, join

import csv


mypath = 'path/to/csv/directory'

allfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]


for file in allfiles:


  # This will only work if your filenames are consistent.

  # We split the name into a list, ['2019', 'v', '1.csv']

  #   then take the third item (index 2), and remove the

  #   last 4 characters.


  number_at_end = file.split("-")[2][:-4]


  # We open the file...


  with open(file, newline='') as csvfile:

    reader = csv.reader(csvfile)


  # Add the column name to the first row, and

  # add the value to each row...


  for i, row in enumerate(reader):

    if i == 0:

      row.append('Visits')

    else:

      row.append(number_at_end)


  # and then write the file back.


  with open(file, newline='') as csvfile:

    writer = csv.writer(csvfile)

    writer.writerows(reader)


查看完整回答
反對(duì) 回復(fù) 2023-05-16
  • 2 回答
  • 0 關(guān)注
  • 271 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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