【发布时间】:2020-01-18 19:11:58
【问题描述】:
我在 python 方面相对较新。这是我想做的。我有一个包含多个 csv 文件的文件夹(2018.csv、2017.csv、2016.csv,... 等等),准确地说是 500 个 CSV 文件。每个 CSV 文件都包含标题“date”、“Code”、“Cur”、“Price”等。我想将所有 500 个 CSV 文件连接到一个数据名中。这是我的一个 csv 文件的代码,但它非常慢。我想对所有 500 个文件执行此操作并连接到一个数据帧:
DB_2017 = pd.read_csv("C:/folder/2018.dat",sep=",", header =None).iloc[: 0,4,5,6]
DB_2017.columns =["date","Code","Cur",Price]
DB_2017['Code'] =DB_2017['Code'].map(lambdax:x.lstrip('@').rstrip('@'))
DB_2017['Cur'] =DB_2017['Cur'].map(lambdax:x.lstrip('@').rstrip('@'))
DB_2017['date'] =DB_2017['date'].apply(lambdax:pd.timestamp(str(x)[:10)
DB_2017['Price'] =pd.to_numeric(DB_2017.Price.replace(',',';')
【问题讨论】:
-
欢迎来到 SO!请花点时间阅读有关如何发布熊猫问题的信息:stackoverflow.com/questions/20109391/…
-
你读过熊猫文档吗?您可以直接在
pandas.read_csv()中指定列名。您不需要映射和 lambda 来从列中删除字符。