Проблема в чтении определенного столбца файла с использованием панд и readlines () - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть файл .csv со следующими заголовками:

create_time, from_id, from_name, message, post_id

Я хочу получить текст в заголовке сообщения. Проблема, с которой я сталкиваюсь, заключается в том, что если я использую 'pandas' и пишу в файл 'b.txt', то количество строк в b.txt превышает количество строк в исходном файле. Если я использую readlines (), то на экране вывода мигает сообщение об ошибке «Индекс вне диапазона»

Последняя проблема заключается в том, что в оригинальном файле не должно быть пустых строк, которые нужно записать в файл b.txt.

Исходный файл содержит смайлики и текст, например, «скажи, что это скоро произойдет».

Вот код, я пытаюсь использовать «панды»:

df = pd.read_csv('original.csv')
outfile=open('b.txt','w', encoding='utf-8')

for i, ir in df.iterrows():
    text = uni_emoji(str(ir['message'])) // to convert emoji to unicode
    if text !='': //to avoid blank line to be written in 'b.txt' 
        outfile.write(text)
        outfile.write('\n')

Код, который я пытаюсь использовать с помощью readlines ():

infile=open('original.csv','r', encoding='utf-8')
outfile=open('b.txt','w', encoding='utf-8')
for line in infile.readlines():
    text = line.split(' ')[3])
    text = uni_emoji(str(text)) // to convert emoji to unicode
    if text !='': //to avoid blank line to be written in 'b.txt' 
        outfile.write(text)
        outfile.write('\n')

Не могу понять, почему строки в файле b.txt превышают исходный файл и второй индексошибка вне диапазона с использованием readlines ().

Несколько строк из CSV-файлов выглядят следующим образом:

2017-07-14T14: 48: 45 + 0000,792550924247692, Анна Ваас, «Для тех, кто претендует на оружие, спасают жизни, могутВы находите данные о том, что число спасенных жизней составляет более 40105 жизней в год? "" Все перестрелки: в 2015 году в США от огнестрельного оружия было убито 13 286 человек, согласно архиву о насилии на оружии, и 26 819 человек получили ранения "" http://www.bbc.com/news/world-us-canada-34996604",228735667216_10154890879532217

2017-07-14T15: 00: 59 + 0000,1961056330586634, Эйлин Кристиано Диксон: «Если человек не занимается религиозным обрядом со своим огнестрельным оружием, я думаю, что в большинстве случаев это будет бесполезно ...

И я не верю, что большинство владельцев оружия сделали это ... получение сертификата, посещение полигона не делает человека компетентным или уверенным в себе владеть огнестрельным оружием ... если вы владеете им, то передайте его, иначезабудь об этом ", 228735667216_10154890879532217

2017-07-14T15: 00: 07 + 0000,1476468122376547, Сульф Моисей," Все, что их волнует, это прибыль, может быть небрежно о потерянных жизнях, ее возможномПрава на оружие - это закон из первобытного времени, который нужно изменить .. ", 228735667216_10154890879532217

2017-07-14T14: 23: 10 + 0000,145642302680166, Сара Грей," Люди превращаются в животныхесли не хуже.

Почему мы не можем жить в мире и любить друг друга? Надеюсь, с семьей все в порядке, ", 228735667216_10154890968202217

2017-07-14T14: 36: 26 + 0000,10214018177317275, Эми Браун, Нил Хэнк, этого достаточно, чтобы они сменили статус поездки в Хургаду ?? ???, 228735667216_10154890968202217

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