【问题标题】:How to store and pass a filename to as a variable in python如何在python中存储文件名并将其作为变量传递给
【发布时间】:2022-12-01 04:48:32
【问题描述】:

我有一些 python 的开始,它们将从特定的 csv 文件中取出列,然后将 csv 列重命名为其他名称。我遇到的问题是 CSV 文件将始终位于运行此脚本的同一目录中,但名称不会始终相同(并且目录中一次只会有一个 csv)

有没有办法自动获取 csv 名称并将其作为变量传递?这是我到目前为止所拥有的:

`


import pandas as pd

#df = pd.read_csv("csv_import.csv",skiprows=1) #==> use to skip first row (header if required)
df = pd.read_csv("test.csv") #===> Include the headers
correct_df = df.copy()
correct_df.rename(columns={'Text1': 'Address1', 'Text2': 'Address2'}, inplace=True)


#Exporting to CSV file
correct_df.to_csv(r'.csv', index=False,header=True)

`

我正在寻找的是不必指定“test.csv”,而是让它在目录中获取 csv 的名称。

【问题讨论】:

    标签: python csv


    【解决方案1】:

    您可以使用 glob.glob 返回与模式匹配的文件列表(例如 *.csv),然后切片。

    尝试这个 :

    from glob import glob
    import pandas as pd
    
    csv_file = glob("*.csv")[0]
    
    df= pd.read_csv(csv_file)
    

    【讨论】:

      【解决方案2】:

      您可以使用 os.listdir() 获取目录中所有文件的列表(在本例中为 csv 文件):

      import os
      csvfiles = [p for p in os.listdir() if p.endswith(".csv")]
      

      【讨论】:

        猜你喜欢
        • 2019-11-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-24
        • 1970-01-01
        • 2018-01-13
        • 1970-01-01
        • 2022-01-15
        • 1970-01-01
        相关资源
        最近更新 更多