Excel将任何csv文件的列限制在3000左右。我正在尝试按以下格式编写125,000列:
import pandas as pd
def formatting(i):
return tuple(map(lambda x: x+str(i), ("O", "MA", "MI", "C", "V")))
l = []
for i in range(1, 125001):
l.extend(formatting(i))
f = pd.read_csv('file.csv')
f.columns = l
f.to_csv('new_file.csv')
我尝试编写这个脚本但是它太慢而且不一致,因为它容易出错。但是,您可以从这个脚本中了解我想要做的事情。
我用来生成csv(包含2行和125,000+列)的当前脚本如下:
import pandas as pd
import glob
allfiles = glob.glob('*.csv')
index = 0
def testing(file):
#file = file.loc[:,'Open':'Volume']
file = file.values.reshape(1, -1)
return file
for _fileT in allfiles:
nFile = pd.read_csv(_fileT, header=0, usecols=range(1,6))
fFile = testing(nFile)
df = pd.DataFrame(fFile)
new_df = df.iloc[:125279]
new_df = new_df.shift(1, axis=1)
new_df.to_csv('HeadCSV/FinalCSV.csv', mode='a', index=False, header=0)
此脚本读取目录中的两个csv文件,并将它们聚合到一个文件中,但是如何确保它打印上面提到的标题并标记它打印出来的两行?
我基本上喜欢以最合乎逻辑的方式组合这两个脚本。
我的想法是编写标题,然后将文件中的所有数据放入数据框中,然后按照提到的方式进行行索引,最后将其全部放入CSV