问题一:如何以等量的间隔输出多个文件 例如 第一个文件输出1-21 第二个文件输出21-42 以此类推
问题二:如何将下列两程序整合到一起
import os
import re
import datetime
import numpy as np
import pandas as pd
if __name__ == '__main__':
filenames_in = r'C:\Users\wxy\Desktop\111' # 输入文件的文件地址
filenames_out = r'C:\Users\wxy\Desktop\333' # 新文件的地址
pathDir = os.listdir(filenames_in)
for allDir in pathDir:
child = re.findall(r"(.+?).csv", allDir) # 正则的方式读取文件名,去扩展名
if len(child) >= 0: # 去掉没用的系统文件
newfile = ''
needdate = child #### 这个就是所要的文件名
domain1 = os.path.abspath(filenames_in) # 待处理文件位置
info = os.path.join(domain1, allDir) # 拼接出待处理文件名字
# ------------数据处理过程---------------
print(info, "开始处理")
df = pd.DataFrame(pd.read_csv(info))
a = df.corr()
a = round(a, 4) # print(round(a, 4))
b = a.applymap(lambda x: (2 * (1 - x)) ** 0.5)
b = round(b, 4)
# print(a)
# print(b)
df0 = []
for x in a.index:
df0.append(a.loc[x, :])
c = pd.concat(df0, keys=a.index).to_frame().reset_index()
c.columns = ['i', 'j', 'Corrcoef(c)']
df1 = []
for x in b.index:
df1.append(b.loc[x, :])
d = pd.concat(df1, keys=b.index).to_frame().reset_index()
d.columns = ['i', 'j', 'Dist=sqrt(2(1-c))']
d = d.drop(['i', 'j'], axis=1)
df = pd.concat([c, d], axis=1, join='inner', ignore_index=False,
keys=None, levels=None, names=['i', 'j', 'Corrcoef(c)', 'Dist=sqrt(2(1-c))'],
verify_integrity=False)
domain2 = os.path.abspath(filenames_out) # 处理完文件保存地址
outfo = os.path.join(domain2, allDir) # 拼接出新文件名字
df.to_csv(outfo, encoding='utf-8',index=False)
print(info, "处理完")
endtime = datetime.datetime.now()
和
open(r'C:\Users\wxy\Desktop\re\555.csv','r',encoding='utf-8') as f, open(r'C:\Users\wxy\Desktop\re\666.csv','w',encoding='utf-8') as f1:
a=f.readlines()
f1.write('#'*10+'\n')
f1.write('# i j Corrcoef(c) Dist=sqrt(2(1-c))\n')
f1.write('#'*10+'\n')
for line in a:
f1.write(' '.join(line.split(',')) + '\n')
代码二是处理代码一输出出来的文件的 如能帮助一定采纳谢谢