如何把Excel中的文字保存为txt文件?

使用Python做NLP任务的时候,经常会清洗数据,做成txt文件,每一行代表一篇文章。但是,采用pd.read_csv(‘新华社数据.csv’, encoding = ‘GB2312’, error_bad_lines=False) 这种方法会出现报错,无法识别位置XXX处的字符。而csv文件是可以用Excel打开的,作为备选,可以从Excel中提取文本。VBA代码如下:

Sub zhuantxt()
Dim gpath, ss As String
Dim sfile As Object, Fso As Object
gpath = "D:\ML"  '先定义一个保存路径
Set Fso = CreateObject("Scripting.FileSystemObject")
Set sfile = Fso.CreateTextFile(gpath & "\xinhua.txt", True, True)
'注意这里的两个Ture
'第一个true表示可以覆盖,改成false表示不能覆盖。
'第二个true表示unicode,省略true就是ANSI。
'这里的unicode具体是utf-16
For i = 2 To 8
    ss = Cells(i, 4)
    If InStr(1, ss, Chr(10), vbBinaryCompare) > 0 Then
    ss = Application.WorksheetFunction.Clean(ss)
    End If
    '这个If代码块的作用是去除非打印字符,比如空格,换行等。
    ss = Replace(ss, "新华社", "") '删掉文本中的“新华社”三个字
    sfile.WriteLine (ss) '把变量作为一行写入txt文件
Next
sfile.Close
Set sfile = Nothing
Set Fso = Nothing
End Sub

用这种方法,Excel的文字只能转成ANSI或Unicode(utf-16),如果想要utf-8,可以在电脑中打开txt文件,选择另存为,选择编码方式为utf-8.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值