关于数据转换
将excel中的数据转为txt;
这是excel的数据:
import pandas as pd
df = pd.read_excel('H:\excel.xlsx', sheet_name='test2') # 获取excel的指定表单的数据
# 获取数据信息
test_data = [] # 所有数据信息
for i in df.index.values: # 获取行号的索引,并将对其进行遍历
# 根据i来获取每一行指定列的数据 并利用to_dict转成字典
row_data = df.loc[i].to_dict()
test_data.append(row_data)
# 处理成列表切嵌套字典
# print(test_data)
# 从excel中获取文件名数据
test_name = df.loc[:, '文件名'].values
data_name = list(test_name)
print(data_name)
# print(type(data_name)) # 获得的name数据存储在列表中
# 从excel中获取第一行数据
value1 = df.loc[:, '数据一'].values
data_value1 = list(value1)
print(data_value1)
for n in data_name: # 从文件名列表中获取数据循环创建txt
name = n
f = open(str(name) + ".txt", "w") # 循环一个文件名创建一个txt
for x in value1:
value = x
f.write(str(value) + '\n二\n这是第三行')
f.close()
可以创建文件名对应的每个txt文件
*输出
for n in data_name: # 从文件名列表中获取数据循环创建txt
name = n
f = open(str(name) + ".txt", "w") # 循环一个文件名创建一个txt
for x in value1:
value = x
f.write(str(value) + '\n二\n这是第三行')
f.close()
改一下f.write 的层次 ,放到循环里
for n in data_name: # 从文件名列表中获取数据循环创建txt
name = n
f = open(str(name) + ".txt", "w") # 循环一个文件名创建一个txt
for x in value1:
value = x
f.write(str(value) + '\n二\n这是第三行')
f.close()
前面代码太乱了, 你把代码改成 遍历 excel 的每一行,
能逐个 print 出每一行数据就可以。
然后再加后面的写文件即可。
大概就是这样吧,参考一下。
import pandas as pd
df = pd.read_excel('H:\excel.xlsx', sheet_name='test2') # 获取excel的指定表单的数据
for index, row in df.iterrows():
value1 = [row[1],row[2],row[3]]
name = row[0]
print(name,"\t",value1)
f = open(str(name) + ".txt", "w") # 循环一个文件名创建一个txt
for x in value1:
value = x
f.write(str(value)+ '\n')
f.close()