1.首先需要了解pandas库(度娘)
2.观察txt文本内容,找出其中的规律
3.以下代码是我做的一个小需求,代码可以正常运行
import pandas as pd #导入pandas库
url = r'D:\haha\QQ.txt' #txt文本的位置
with open(url, 'r') as f: #打开txt文本
datas = f.read()
li = [] #创建一个数组
k = 0
data = datas.split('\n') #使用空行进行划分
for item in datas.split('\n'):
if len(item) == 3:
li.append(k)
k = k + 1 # 用来将txt文件分块
j = 0
mydata = pd.DataFrame()
for i in range(len(li)):
j += 1
if i == len(li) - 1:
chunk = data[li[i]:]
else:
chunk = data[li[i]:li[i + 1]]
print(len(chunk))
lengths = [] # 地面底面深度
depths = [] # 地面顶面深度
layers = [] # 土层编号-分层信息
ids = [] # 钻孔编号
X = []
Y = []
height = [] # 地面标高
for m in range(4, len(chunk)):
if '-' in chunk[m].split(';')[0]:
layers.append(chunk[m].split(';')[0])
lengths.append(chunk[m].split(';')[1])
print(str(m - 3), '@' * 10, layers)
ids.append(chunk[1].split(';')[0])
X.append(chunk[1].split(';')[3])
Y.append(chunk[1].split(';')[4])
height.append(chunk[1].split(';')[5])
else:
continue
depths = lengths[:-1]
depths.insert(0, 0)
pd_data = pd.DataFrame({
'钻孔编号': ids,
'X': X,
'Y': Y,
'地面顶面深度': depths,
'地面底面深度': lengths,
''
'地面标高': height,
'岩性': None,
'土层编号-分层信息': layers})
order = ['钻孔编号', 'X', 'Y', '地面顶面深度', '地面底面深度', '地面标高', '岩性', '土层编号-分层信息']
pd_data = pd_data[order]
mydata = pd.concat((mydata, pd_data))
mydata.to_excel('mydata.xlsx', index=None)
![txt文本内容](https://img-blog.csdnimg.cn/20200720174924827.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0MjAzODE2,size_16,color_FFFFFF,t_70#pic_center)