#python #python-3.x #list #python-2.7 #python-requests
#python #python-3.x #Список #python-2.7 #python-запросы
Вопрос:
Я пытаюсь создать скрипт, который объединяет значения в файлах в столбцы. Но, к сожалению, я получаю сообщение об ошибке: «TypeError: можно объединить только список (не»str») в список»
Что я делаю не так?
import re
inputList = []
for file in ['text1.txt','text2.txt']:
with open(file,'r') as infile:
k = 0
for line in infile:
i = 0
if i < len(inputList) and k:
inputList[i].extend(re.sub('[^A-Za-z0-9,] ', '', line).split(","))
else :
inputList.append(re.sub('[^A-Za-z0-9,] ', '', line).split(","))
i = 1
k = 1
print(inputList)
with open('text3','w') as outfile:
for line in inputList:
outfile.write(line 'n')
Комментарии:
1. Я думаю, ошибка не из-за текущего кода. Можете ли вы указать, какая строка выдает ошибку? Это будет указано в вашем сообщении об ошибке.
2. @Rahul К сожалению, ошибка возникает в строке 17. » Трассировка (последний последний вызов): Файл «D:script.py «, строка 17, в исходном файле <module>. запись (строка ‘n’) Ошибка типа: может объединять только список (не «str») в список »
3. Понял. Это имеет смысл.
Ответ №1:
Вы не можете объединить список со строкой.
В вашем коде line
есть list
, и вы пытаетесь объединить его с 'n'
a str
. Я не знаю, что вы пытаетесь выполнить здесь, но для того, чтобы ваш код работал, вы можете сделать что-то вроде outfile.write('f{line}n')
.
Я бы рекомендовал вместо этого использовать встроенный json
модуль. Json лучше всего работает с list
dict
данными или str
с ними.
import json
with open('text3','w') as outfile:
json.dump(inputList, outfile)
Комментарии:
1. Я вставил это в код, который вы рекомендовали. Все было сохранено в файл, но в результате все значения были сохранены в одной строке. И мне нужны два столбца и как таблица в соответствии со списком.
2. Если вы можете включить входные и ожидаемые выходные данные, будет полезно