Запись содержимого из текстового файла в CSV-файл только на один столбец-Как? - PullRequest
0 голосов
/ 23 сентября 2019

Я преобразовал файл PDF в текстовый файл.Этот текстовый файл также конвертируется в CSV-файл.Моя проблема заключается в том, что содержимое файла csv записано в несколько столбцов (A, B, C, D, E), тогда как я хотел записать его только в один столбец, т.е. в столбец A. Как я могу записать содержимое из этих столбцов только водин столбец?

Я пытался использовать функцию слияния, функцию сцепления и функцию соединения, но это не помогло.

вот мой код

import os.path
import csv
import pdftotext
#Load your PDF
with open("crimestory.pdf", "rb") as f:
   pdf = pdftotext.PDF(f)

# Save all text to a txt file.
with open('crimestory.txt', 'w') as f:
    f.write("\n\n".join(pdf))

save_path = "/home/mayureshk/PycharmProjects/NLP/"

completeName_in = os.path.join(save_path, 'crimestory' + '.txt')
completeName_out = os.path.join(save_path, 'crimestoryycsv' + '.csv')

file1 = open(completeName_in)
In_text = csv.reader(file1, delimiter=',')

file2 = open(completeName_out, 'w')
out_csv = csv.writer(file2)

file3 = out_csv.writerows(In_text)

file1.close()
file2.close()

Ожидаемый результатв файле csv должен быть столбец A Вся информация.Остальные столбцы Пусто

1 Ответ

1 голос
/ 23 сентября 2019

Вы можете использовать этот ответ, чтобы объединить все столбцы в один.

#dummy df 
df =pd.DataFrame({'ColA':['value_A1','value_A2','value_A3','value_A4'],'ColB':['value_B1','value_B2','value_B3','value_B4'],'ColC':['value_C1','value_C2','value_C3','value_C4']})

Я буду использовать pandas для загрузки вашего csv:

import pandas as pd
df= pd.read_csv(sep=',',savepath+'crimestorycsv.csv')
df = df.astype(str)
col = df.columns
df['All'] = df[col[0]].str.cat(df[col[1:]],sep='|')
df.drop(col,axis=1,inplace=True)

Результаты:

Все
0 value_A1 | value_B1 | value_C1
1 значение_A2 | значение_B2 | значение_C2
2 значение_A3 | значение_B3 | значение_C3
3 значение_A4 | значение_B4 | значение_C4

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