Excel批量读取文件夹下txt文本固定行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel批量读取文件夹下txt文本固定行相关的知识,希望对你有一定的参考价值。

假设文件夹下有100个txt文件,格式都是一样的。需要将所有文本中的第20行到30行内容读取到excel中,如附图方式保存感谢感谢

可以使用如下的代码,复制如下代码到VBA模块中运行即可。
如下代码代表4行4列,如果其余行或列数则可更改相应的数字。

具体步骤如下:
打开office excel;
Alt+F11打开VBA编辑器;
复制如下代码到模块中;
F5运行该模块;
按照提示进行如下步骤即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

Sub xxx()
Dim myFile As String
Dim myText As String
Dim myString As String
Dim i As Single
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
.AllowMultiSelect = False
myFile = .SelectedItems(1)
End With
myText = Dir(myFile & "\" & "*.txt")
Do While Len(myText) <> 0
Open myFile & "\" & myText For Input As #1
myText = Split(Split(VBA.StrConv(InputB(LOF(1), 1), vbUnicode), Chr(10))(3), vbTab)(3) '4行4列,如果其余行或列数则更改相应的数字
Debug.Print myText
Close
myText = Dir
Loop追问

不是很懂 读取第20行到30行要怎么设置呢

参考技术A 需要写代码,正好我会!追问

大侠帮帮忙呗

追答

文件啊!没文件怎么写?捏造数据?乱写格式?

追问

上传不了文件,数据格式如下,需要读取Chx01到Chx18这些行的内容

追答

看到我的名称了没有!这样知道怎么发给我了吧!

追问

明白了 晚上加你 再发给你看看 谢大神

python如何批量对文件夹里所有excel特定行进行删除?

我的文件夹下的excel文件名字都不一样,但格式是一样的,我想对文件夹下的所有excel表的固定几行进行删除(例如:第1行和第63行),求python代码,感谢感谢

参考技术A

path是文件夹的路径,num是个数组,代表你要删除的行,把要删除的行写进去

追问

谢谢!我按照你提供的代码去写,但出现这个错误代码,我的冒号是英文冒号,所以请问是什么原因导致呢?

追答

路径中的\改成\\,num是个数组,放入想修改的行数

路径\改成\\,第二个参数是个数组

参考技术B 我喜欢用xlwings
import os
import xlwings as wx
import pywin

path = './test/'
row_num=2#删除了第2行,数字自己改,不高兴单独写了,注意递减
filenames = os.listdir(path)
for filename in filenames:
app = wx.App(visible=False, add_book=False) # 不打开excel
wb = app.books.open(path+filename)
sheet = wb.sheets[0]
sheet.api.rows(row_num).delete
wb.save()
wb.close()
app.quit()本回答被提问者和网友采纳

以上是关于Excel批量读取文件夹下txt文本固定行的主要内容,如果未能解决你的问题,请参考以下文章

怎么用python读取txt文件里指定行的内容,并导入excel

Apache POI将txt文件读取为excel文件

将txt文件中的行批量读取到变量中

用DELPHI写一个代码,将EXCEL文件读取成TXT文本

python:创建文件夹:写入文本1:读取txt:读取Excel文件遍历文件夹:

python批量读取txt某列,并复制对应txt文件名?