Открывайте файлы CSV в подразделах, используя цикл.Python

Программы на Python
Ответить
Anonymous
 Открывайте файлы CSV в подразделах, используя цикл.

Сообщение Anonymous »

Я пытаюсь создать цикл для открытия файлов CSV.
Я начал с создания нескольких списков файлов, которые хочу открывать в отдельных кадрах данных:

Код: Выделить всё

file_list_a = [f for f in os.listdir(csv_directory) if f.endswith(').csv') and f.startswith('a') ]
У меня есть несколько таких списков до достижения известного объема данных.
И вот часть моего цикла:

Код: Выделить всё

for file in file_list:
if file.startswith('1',1):
frame_a1[file] = pd.read_csv(
csv_directory + file, skiprows=27
).drop_duplicates(subset=['prot_acc','prot_score','prot_cover'])
combine_a1 = pd.concat(frame_a1, axis=0, ignore_index=True)
Однако мне бы хотелось автоматизировать и первый шаг, поскольку иногда неизвестно, до какой буквы алфавита нужно идти (

Код: Выделить всё

startswith('i')
)
Я пробовал что-то вроде этого:

Код: Выделить всё

alfabet = list(map(chr, range(ord('a'), ord('z')+1)))
file_list = {} #when use these or {}
for i in alfabet:
try:
file_list[i] = [f for f in os.listdir(csv_directory) if f.endswith(').csv') and f.startswith(i)]
except:
pass
file_list['a'] #=fil_list_a
Этот словарь моих файлов был создан при запуске последней строки file_list['a'] и выглядит точно так же, как в моей ручной версии:

Код: Выделить всё

['a1 (2).csv', 'a1 (3).csv', 'a1 (4).csv', 'a2 (2).csv', 'a2 (3).csv', 'a2 (4).csv', 'a3 (2).csv', 'a3 (3).csv', 'a3 (4).csv', 'a4 (2).csv', 'a4 (3).csv', 'a4 (4).csv', 'a5 (2).csv', 'a5 (3).csv', 'a5 (4).csv', 'a6 (2).csv', 'a6 (3).csv', 'a6 (4).csv', 'a7 (2).csv', 'a7 (3).csv', 'a7 (4).csv']
Однако я не могу использовать это в следующем блоке кода для открытия файлов.
Я попробовал это, например:

Код: Выделить всё

readout = {}
for i in file_list:
readout[file_list] = pd.read_csv(
csv_directory + file_list[i], skiprows=27
).drop_duplicates(subset=['prot_acc','prot_score','prot_cover'])
Но затем я получаю сообщение «Ошибка типа: можно объединить только str (не «список») в str».
Я просмотрел страницы здесь в стеке, но пока не смог чтобы найти решение, надеюсь, мой вопрос ясен!


Подробнее здесь: https://stackoverflow.com/questions/791 ... using-loop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»