为了账号安全,请及时绑定邮箱和手机立即绑定

Python Pandas 导出 -> 将制表符添加到行

Python Pandas 导出 -> 将制表符添加到行

守着星空守着你 2022-06-07 16:58:04
我想将选项卡添加到 tex 数据并导出为 excel csv 和 txt 文件。我有:13 turned in the research Paper on Friday; otherwise, he Would have not passed the Class我想在最后一个词之前添加标签。我写了这段代码:df = df.replace({"\s([A-Z][a-z]+[a-z])$": " \\t\\1"}, regex=True)df.to_csv("file.csv", sep='\t')df.to_csv("file.txt", sep='\t', index=False)df.to_excel("file.xlsx", sheet_name='Sheet1')问题是当我导出并查看不在原始文件和 excel 文件中的 *"*s 文件时,整行停留在一列而不是两列中。"13 turned in the research Paper" "on Friday; otherwise, he Would" "have not passed the Class"我错过了什么?
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

您必须使用r'\\t'or '\\\\t',这就是我的做法。


代码


import pandas as pd

import re


#create the sample dataframe

df = pd.DataFrame({'sent':['13 turned in the research Paper',\

                          'on Friday; otherwise, he Would',\

                          'have not passed the Class']})


#df.head()


#apply regex substitution

df['sent'] = df['sent'].astype(str).apply(lambda x: re.sub(r'\s([A-Z][a-z]+$)', r'\\t\g<1>', x))


df.to_csv('tabbed.txt',index=False)


'''

sent

13 turned in the research\tPaper

"on Friday; otherwise, he\tWould"

have not passed the\tClass

'''


#not-so-pretty output

pd.read_csv('tabbed.txt', sep=r'\\t', engine='python')


'''

                            sent

13 turned in the research   Paper

"on Friday; otherwise, he   Would"

have not passed the         Class

'''

美化输出


#prettify it

(pd.read_csv('tabbed.txt', sep='\\\\t', engine='python')

 .reset_index().rename(columns={'index':'sent0','sent':'sent1'})

 .replace(r'"', '', regex=True)

)


'''

    sent0                       sent1

0   13 turned in the research   Paper

1   on Friday; otherwise, he    Would

2   have not passed the         Class

'''


查看完整回答
反对 回复 2022-06-07
  • 1 回答
  • 0 关注
  • 265 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信