如何在相同索引键的列中插入重复值?

时间:2019-05-26 01:21:41

标签: python python-3.x pandas

我设置了100个文档,格式如下:

“足球世界杯” 2法国赢得了上届足球世界杯

“足球世界杯”是文件ID。 我的数据是“ 2”,“法国赢得了上届世界杯​​足球赛”。

我必须将数据插入相应的文档ID中。一个文档ID可以具有多个值,这些值具有不同的句子编号和数据值

我已经使用了数据框架,并且试图遍历文档并从我创建的用于存储数据和文档ID的字典中​​读取数据。 并且停留在读取文件的时间超过6小时。

dataFrame = pd.DataFrame()
df = pd.DataFrame(columns=['doc_id', 'document','sent_num'])

sent_num ={}
doc_key = []
dict_sentences = {}
def read_line():
    docs1 = []
    doc = []
    for filename in glob.glob(os.path.join(path, '*.txt')):
         if not os.path.isdir(filename):
            with open(filename,"r",encoding="utf8") as file1:
                print('Current executing file',filename)
                for lines in file1:
                    pos = lines.split()[0:1]
                    joint_position = ','.join(pos)
                    line = lines.split(" ")[0]
                    split_lines = lines.split()[2:]
                    join_data_lines = ' '.join(split_lines)
                    if line in dict_sentences.keys():
                        dict_sentences[line] = dict_sentences[line] + join_data_lines
                    else:
                        dict_sentences[line] = join_data_lines
                    doc_key.append(pos)
                    if str(pos[0]) in sent_num.keys():
                        sent_num[pos[0]] = sent_num[pos[0]] + lines.split()[1:2]
                    else:
                        sent_num[pos[0]] = lines.split()[1:2]

    for a,value in dict_sentences.items():
        row = [a, value,sent_num[a]]
        df.loc[len(df)] = row

read_line()

我想知道是否可以将数据直接附加到数据框中,并排除将数据写入字典然后存储的步骤吗?

0 个答案:

没有答案