【问题标题】:How to create multiple .md files based on a .csv file and enter the correct rows of the .csv file into each newly created .md file?如何基于 .csv 文件创建多个 .md 文件,并将 .csv 文件的正确行输入到每个新创建的 .md 文件中?
【发布时间】:2021-02-07 01:33:23
【问题描述】:

基本上我有一个 .csv 文件,其数据结构类似于以下内容:

Name | Department | Committees | Years

Jack | Finance    | Party      | 7.0
Jen  | Marketing  | Risk       | 15.0     

我希望能够根据 .csv 中的 Name 列创建单独的 Markdown 文件,然后以这种格式写入每个 Markdown 文件,每个人的 [Department][Committees][Years] 信息:

  • [[财务]]
  • [[社交]]
  • [[大学]]
  • [[7]]

到目前为止,我已经能够弄清楚如何按名称创建单个 Markdown 文件,但我无法弄清楚如何在文件中写入正确的数据并相应地对其进行格式化。

到目前为止的代码:

import pandas as pd
import csv

data = pd.read_csv("Employee_Directory.csv")
names = data.Name.to_list()

for n in names:
    name = n.split(", ")
   
    file_name = name[0].replace("\n", "") + ".md"

    new_file = open(file_name, "w+")
    new_file.write = ""
    new_file.close()

print("Success")

任何帮助将不胜感激。

【问题讨论】:

    标签: python excel pandas csv markdown


    【解决方案1】:

    我想通了:

    import pandas as pd
    
    # Create a dataFrame from csv file
    data = pd.read_csv("Employee_Directory.csv", sep=',', engine='python', encoding="utf- 
    8").fillna('')
    
    # Filtering out unwanted characters
    data['Committees']=data['Committees'].str.replace("<br>","]] [[")
    data['Committees']=data['Committees'].str.replace("-"," ")
    data['Associations 1']=data['Associations 1'].str.replace("<br>"," ")
    data['Associations 2']=data['Associations 2'].str.replace("<br>"," ")
    data['I am a Resource For']=data['I am a Resource For'].str.replace("<br>","]] [[")
    data['I am a Resource For']=data['I am a Resource For'].str.replace("+","]] [[")
    data['I am a Resource For']=data['I am a Resource For'].str.replace("-"," ")
    data['I am a Resource For']=data['I am a Resource For'].str.replace("/"," ")
    data['I am a Resource For']=data['I am a Resource For'].str.replace(":"," ")
    data['I am a Resource For']=data['I am a Resource For'].str.replace(")"," ")
    data['I am a Resource For']=data['I am a Resource For'].str.replace("("," ")
    data['I am a Resource For']=data['I am a Resource For'].str.replace(",","]] [[")
    data['Education 1']=data['Education 1'].str.replace("<br>"," ")
    data['Education 2']=data['Education 2'].str.replace("<br>"," ")
    
    # Set the names column to a list
    names = data.values.tolist()
    
    # Loop through each name, create .md file, set contents to string
    for name in names:
        fname = str(name[0])
        file_name = f'{fname}.md'
        dept = str(name[1])
        comm = str(name[2])
        assoc_one = str(name[3])
        assoc_two = str(name[4])
        canbim = str(name[5])
        resource_for = str(name[6])
        #skills = str(name[7])
        edu_one = str(name[8])
        edu_two = str(name[9])
        #degrees = str(name[10])
        years = str(name[11])
    
        # Write Contents to .md formatted as required
        with open(file_name, 'w', encoding="utf-8") as f:
            f.write(f' | Name: {fname} | \n | Department: [[{dept}]] | \n | Committees: 
            [[{comm}]] | \n | Associations 1: [[{assoc_one}]] | \n | Associations 2: 
            [[{assoc_two}]] | \n | CanBIM Level: [[{canbim}]] | \n | I am a resource for: 
            [[{resource_for}]] | \n | Education 1: [[{edu_one}]] | \n | Education 2: 
            [[{edu_two}]] | \n | [[{years} Years with Studio]] |')
            f.close()
        print(f'{file_name} saved.')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-06
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多