Python 将来自两个不同文件的行合并到一个列表中

兰戈

我正在尝试从两个不同文件的行构建一个列表。

文件1.txt

['2.02', '-3.88', '15.25']
['4.40', '-2.36', '14.97']
['5.44', '0.34', '7.34']
['5.76', '0.41', '7.60']
['5.35', '0.19', '13.95']

文件2.txt

['P1']
['P2']
['P3']
['P4']
['P5']

理想的产出

['2.02', '-3.88', '15.25', 'P1']
['4.40', '-2.36', '14.97', 'P2']
['5.44', '0.34', '7.34', 'P3']
['5.76', '0.41', '7.60', 'P4']
['5.35', '0.19', '13.95', 'P5']

我试图简单地添加行

combined = open('file1.txt').readlines() + open('line2.txt').readlines()

输出

["['2.02', '-3.88', '15.25']\n", "['4.40', '-2.36', '14.97']\n", "['5.44', '0.34', '7.34']\n", "['5.76', '0.41', '7.60']\n", "['5.35', '0.19', '13.95']\n", 'P1\n', 'P2\n', 'P3\n', 'P4\n', 'P5\n']

我还写了一个函数,试图将两者合并到第三个文件 file3.txt 中

def combiner():
with open("file1.txt", 'r') as file1:
    with open('file2.txt', 'r') as file2:
        with open('file3.txt',"w") as file3:
            clines = file1.readlines()
            plines = file2.readlines()
   #Write to third file
            for i in range(len(clines)):
                line = clines[i].strip() + plines[i]
                file3.write(line)

但它仍然写在 2 个不同的列表中

猫文件3.txt

['2.02', '-3.88', '15.25']['P1']
['4.40', '-2.36', '14.97']['P2']
['5.44', '0.34', '7.34']['P3']
['5.76', '0.41', '7.60']['P4']
['5.35', '0.19', '13.95']['P5']

最好的方法是返回这样一个列表的函数。

帕特里克·豪

尽管文件中的行类似于列表,但您实际上将它们视为字符串。您可以使用ast.literal_eval将字符串评估为列表,组合它们,然后将它们写入另一个文件

from ast import literal_eval

def combiner(infile1, infile2, outfile):
    with open(infile1) as f1, open(infile2) as f2, open(outfile, 'w+') as f3:
        f1_lists = (literal_eval(line) for line in f1)
        f2_lists = (literal_eval(line) for line in f2)
        for l1, l2 in zip(f1_lists, f2_lists):
            f3.write(str(l1+l2) + '\n')  # This could also be print(l1+l2, file=f3)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在python中合并来自两个不同文本文件的列

将两个单词表合并到一个文件中 Python

Python:将来自不同目录的文件输出附加到一个整体列表中

在Python中将两个列表合并到另一个列表

如何使用python比较来自两个不同文件的行字符串?

将来自不同文件的多个Excel工作表导入python,并将它们连接到一个数据帧中

Python:在一个文件行中检索两个单独的列表值

Python:提取不同的表并将它们合并到一个CSV文件中

使用BeautifulSoup的Python Web抓取,如何将两个<p>文本合并到列表的一个元素中

比较来自两个不同文本文件Python的URL

合并python中两个不同列表中的DF

Python将来自日志文件不同行的三个字符串合并为一行

在python中合并两个不同长度的列表

Python:将两个列表合并到字典

将python中的两个列表合并为一个

将两个列表合并到python中具有多个键的字典列表中

如何将列表的两个列表合并到python中的pandas DataFrame中?

将一个列表中的两个子列表合并为一个子列表python

合并来自包含同一列的两个文件中的数据-Python

将两个列表合并到python 2.7中的字符串列表

使用Python在Excel中返回两个不同文件中两列之间的差异

如何在Python中匹配两个不同列表的第一个元素

Python-如何以完全随机的顺序将两个列表合并到字典中

[Python]将两个文本文件合并为一个(一行一行)

如何在python中将来自两个不同字典的数据帧连接成一个新的数据帧?

将来自两个JavaScript对象的数据合并到一个新对象中

比较字典列表并合并到一个python

Python Pandas-如何将具有两个不同列的两个数据框合并到两个列表列

Python:在一个绘图中合并两个不同的绘图,但x值范围不同