python如何传输数据,如u' ** \ t ** \ r ** \ t ** \ r'到数据帧

时间:2018-03-06 08:12:26

标签: python dataframe

我有一些这样的数据,

u'1\t\u80a1\u7968\r2\t\u503a\u5238\r3\tTOT-\u6211\u53f8\u5355\u4e2a\u4fe1\u6258\u8ba1\u5212\uff08\u7a7f\u900f\u5f0f\uff09\r4\tTOT-\u6211\u53f8\u591a\u4e2a\u4fe1\u6258\u8ba1\u5212\r5\tTOT-\u5916\u90e8\u4fe1\u6258\u8ba1\u5212\r6\tFOF-\u6307\u5b9a\u5355\u4e2a\u5916\u90e8\u4ea7\u54c1\r7\tFOF-\u6307\u5b9a\u591a\u4e2a\u5916\u90e8\u4ea7\u54c1\r8\t\u80a1\u7968\u5b9a\u589e\r9\t\u80a1\u7968\u8d28\u62bc\r10\t\u79c1\u52df\u57fa\u91d1\uff08\u6211\u53f8\uff09\r99\t\u5176\u4ed6\r'.

我希望将它们转移到pandas数据帧。那么,我该怎么办?

2 个答案:

答案 0 :(得分:1)

string转换为dict并使用它创建DataFrame

>>> import pandas as pd
>>> s = u'1\t\u80a1\u7968\r2\t\u503a\u5238\r3\tTOT-\u6211\u53f8\u5355\u4e2a\u4fe1\u6258\u8ba1\u5212\uff08\u7a7f\u900f\u5f0f\uff09\r4\tTOT-\u6211\u53f8\u591a\u4e2a\u4fe1\u6258\u8ba1\u5212\r5\tTOT-\u5916\u90e8\u4fe1\u6258\u8ba1\u5212\r6\tFOF-\u6307\u5b9a\u5355\u4e2a\u5916\u90e8\u4ea7\u54c1\r7\tFOF-\u6307\u5b9a\u591a\u4e2a\u5916\u90e8\u4ea7\u54c1\r8\t\u80a1\u7968\u5b9a\u589e\r9\t\u80a1\u7968\u8d28\u62bc\r10\t\u79c1\u52df\u57fa\u91d1\uff08\u6211\u53f8\uff09\r99\t\u5176\u4ed6\r'

>>> dct = dict(line.split('\t') for line in s.strip().split('\r'))
>>> print(dct)
{'1': '股票', '2': '债券', '3': 'TOT-我司单个信托计划(穿透式)', '4': 'TOT-我司多个信托计划', '5': 'TOT-外部信托计划', '6': 'FOF-指定单个外部产品', '7': 'FOF-指定多个外部产品', '8': '股票定增', '9': '股票质押', '10': '私募基金(我司)', '99': '其他'}

>>> df = pd.DataFrame.from_dict(dct, orient='index')
>>> print(df)
                    0
1                  股票
2                  债券
3   TOT-我司单个信托计划(穿透式)
4        TOT-我司多个信托计划
5          TOT-外部信托计划
6        FOF-指定单个外部产品
7        FOF-指定多个外部产品
8                股票定增
9                股票质押
10           私募基金(我司)
99                 其他

答案 1 :(得分:0)

这里有一个想法如何实现你的目标,在这里我只接受你的一部分字符串并转换,如果你想将它应用于你的数据,你必须做一些改变,因为数据的格式不正确。

print('\\u80a1\\u7968'.encode('ascii').decode('unicode-escape'))

它会像:

股票