Чтение файла tsv в PythonPython

Программы на Python
Ответить
Anonymous
 Чтение файла tsv в Python

Сообщение Anonymous »

У меня много файлов .tsv, которые я хотел бы прочитать один за другим и записать последний столбец в другой файл.
Вот мой код:

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

for filename in os.listdir(path):
with open(path+'/'+filename,'r',encoding="utf8") as tsvin, open('temptweets.csv','a',encoding='utf-8') as csvout:
tsvin = csv.reader(tsvin, delimiter='\t')
csvout = csv.writer(csvout)
count = 0
for row in tsvin:
try:
count = str(row[-1])
except ValueError:
pass  # w.e.
if len(count) >= 0:
csvout.writerow([count])
Большинство из них работают идеально. Но проблема в том, что некоторые строки интерпретируются вместе.
т.е. переменная row получает еще несколько строк, соединенных вместе, поэтому в конечном итоге в файл записывается не только последний столбец, но и ВСЕ столбцы следующей строки. Он останавливается после нескольких строк - тоже не могу сказать, почему.
Я пытался прочитать файлы несколькими другими методами (например, пандами), но получил тот же результат.
Я также пытался открыть входной файл и просмотреть все символы (блокнот++), но все строки (включая проблемные) ЕСЛИ ЕСТЬ CR:LF.
Я знаю там что-то не так с входным файлом (входной файл указан), но я хотел бы знать, есть ли способ решить эту проблему.

Подробнее здесь: https://stackoverflow.com/questions/508 ... -in-python
Ответить

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

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

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

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

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