我有一堆文件,文件的标准格式如下
TestAP300TestBP300TestCP300...TestHP30
例如:
Data A: "-0.9148","-1.7609","0.8441","-3.0872""-2.4155","-0.7446","0.7238","-1.5506"Data B: "-0.2695","0.2271","0.7103","-4.7732""-0.5421","-0.6235","0.2131","-3.3143"我想创建如下文件:"-0.9148","-1.7609","0.8441","-3.0872","A""-2.4155","-0.7446","0.7238","-1.5506","A""-0.2695","0.2271","0.7103","-4.7732","B""-0.5421","-0.6235","0.2131","-3.3143","B"
每个文件有10列和4行。我希望将这些文件合并成一个文件,并在每列中添加新行。
提前感谢
回答:
输入文件:
a.csv:
"-0.9148","-1.7609","0.8441","-3.0872""-2.4155","-0.7446","0.7238","-1.5506"
b.csv:
"-0.2695","0.2271","0.7103","-4.7732""-0.5421","-0.6235","0.2131","-3.3143"
解决方案:
import osimport globimport csvimport pandas as pdfiles = glob.glob(r'D:\temp\.data\43055344\*.csv')pd.concat( [pd.read_csv(files[0], header=None).assign(f=os.path.basename(os.path.splitext(f)[0])) for f in files ], ignore_index=True).to_csv(r'd:/temp/out.csv', header=None, index=False, quoting=csv.QUOTE_ALL)
结果:
"-0.9148","-1.7609","0.8441","-3.0872","a""-2.4155","-0.7446","0.7238","-1.5506","a""-0.9148","-1.7609","0.8441","-3.0872","b""-2.4155","-0.7446","0.7238","-1.5506","b"