Добавить в моем коде иногда не работает должным образом - PullRequest
0 голосов
/ 10 июля 2019

Я создал несколько строк кода на 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

1 Ответ

0 голосов
/ 10 июля 2019

Ребята, большое спасибо всем, кто пытается помочь. Оказывается, что если вы добавите еще одно имя столбца (я добавил aq, общее количество достигло 44), проблема будет исправлена, хотя все файлы достигают 43 столбцов и никогда не превышают это значение. Я не знаю, правильный ли это ответ, но он определенно решает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...