我产生了一些python代码行,它们应该读取目录中的所有csv文件,并使用每个文件的最后一行来产生一个新的csv文件。但是,似乎这些行中的某些行虽然被完美复制(我使用调试器对其进行了验证),但最终却使生成的文件中的第一列出现错误,而这并不是在所有行中都发生。本专栏包含有用的信息,我不希望其丢失。这些文件最多可以包含43列,这就是为什么我将列添加到aq的原因。
import pandas as pd
import glob
path = r'specific directory\*.csv' #the directory is private that's why i replaced it
files = glob.glob(path)
df = pd.DataFrame(columns = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'aa', 'ab', 'ac', 'ad', 'ae', 'af', 'ag', 'ah', 'ai', 'aj', 'ak', 'al', 'am', 'an', 'ao', 'ap', 'aq'])
for name in files:
df_n = pd.read_csv(name, names = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'aa', 'ab', 'ac', 'ad', 'ae', 'af', 'ag', 'ah', 'ai', 'aj', 'ak', 'al', 'am', 'an', 'ao', 'ap', 'aq'])
df_r = df.append(df_n.iloc[-1], ignore_index=True)
df = df_r
del df_n
del df_r
r_path = r'specific directory\result.csv'
df.to_csv(r_path, index=False, header=False)
del df
答案 0 :(得分:0)
非常感谢任何尝试提供帮助的人。原来,如果您再添加一个列名(我添加了aq,总共达到44个),则该问题已解决,尽管所有文件最多可以包含43列,并且永远不会超过该列。我不知道这是否是一个正确的答案,但肯定可以解决问题。