将文本转换为列或数据框或其他文本

时间:2020-02-11 20:24:02

标签: python python-3.x pandas

是否可以在一个数据框中翻转两个文本?还是另外一个文字?

我有一个这样的文字:

['+49 69 1234 5678', '+49 30 9876 5432', '+49 89 2587 9852']

还有另一个与第一个txt直接相关的文本:

['Bruno', 'Hölzel', 'Anna']

有没有一种生成这样的表的方法:

+49 69 1234 5678 | Bruno
+49 30 9876 5432 | Hölzel
+49 89 2587 9852 | Anna

甚至是另一个txt,例如:

['+49 69 1234 5678; Bruno', '+49 30 9876 5432; Hölzel', '+49 89 2587 9852; Anna']

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用列表理解

a = ['+49 69 1234 5678', '+49 30 9876 5432', '+49 89 2587 9852']
b = ['Bruno', 'Hölzel', 'Anna']

['; '.join(i) for i in zip(a, b)]

['+49 69 1234 5678; Bruno', '+49 30 9876 5432; Hölzel', '+49 89 2587 9852; Anna']

要将其写到txt文件中,您可以执行以下操作:

f = open("my.txt","w")
[f.write('|'.join(i)+'\n')for i in zip(a,b)]
f.close()

答案 1 :(得分:0)

您可以喜欢Onyambu的答案,也可以像这样在熊猫中创建数据框:

import pandas as pd
# My pd.__version__ is the 0.25.3

# Import the two txt file
dataframe_1 = pd.read_csv('filename_1.txt')
dataframe_2 = pd.read_csv('filename_2.txt')

# Concatenate the two dataframes on axis=1 (column)
dataframe = pd.concat([dataframe_1, dataframe_2], axis=1)

# You can export as a txt with different separator changeable in sep parameter
# You can also export without index and without header
dataframe.to_csv('test.txt', index=False, header=None, sep='|')

如果您想要有关to_csv函数的更多信息,可以浏览官方文档here